Как поделиться игрой Starling в ленте facebook

Я хочу поделиться частью игры, которую я сделал на Facebook, как это можно сделать в Angrybirds.

но проблема в том что игра была написана на старлинге и

Я получаю эту ошибку "приложение неправильно встроено"

и мой вопрос

  1. Могу ли я использовать Starling без аппаратного ускорения так же, как?
  2. знаете ли вы, как сообщить Facebook о встраивании swf в прямом режиме?

Здесь заканчивается пример Angrybirds, только что прошедший на facebook.

https://angrybirds-facebook.appspot.com/embed?levelId=9-1&levelName=Surf+and+Turf-1&score=56530


person Shvilam    schedule 11.09.2013    source источник


Ответы (2)


Я столкнулся с этой проблемой в проекте ранее в этом году, и, к сожалению, в настоящее время нет способа использовать Stage3D внутри временной шкалы Facebook («потоковые игры» в отличие от стандартного приложения Facebook), потому что встраивание, которое применяет Facebook, использует wmode:"opaque", и есть нет возможности изменить это через мета-свойства FBML. Подробнее о том, что вы можете указать, можно узнать здесь: https://developers.facebook.com/docs/games/feed-gaming/

В случае с Angry Birds они используют урезанную версию своего приложения (я полагаю, только с одним уровнем) для версии с временной шкалой, которая не использует Starling или Stage3D.

И чтобы ответить на другой ваш вопрос, вы можете использовать Starling с резервным программным рендерингом (где совместимое графическое оборудование недоступно), но, к сожалению, он все равно будет проходить через Stage3D (как описано здесь: http://www.bytearray.org/?p=3443), а при использовании без wmode:"direct" будет по-прежнему терпит неудачу с ошибкой 3702: Context3D not available.

Таким образом, обходной путь, если вам нужно, чтобы он работал на временной шкале Facebook, состоит в том, чтобы либо перестроить ваше приложение для использования обычных экранных объектов и без контента Stage3D, либо сделать урезанную вторую версию, которая не использует Stage3D, но ссылки на вашу полноценную версию в обычном приложении Facebook. Извините за плохие новости; Я чувствую твою боль.

person hanenbro    schedule 11.09.2013

  1. Могу ли я использовать Starling без аппаратного ускорения так же, как?

Нет, это движок на основе Stage-3D, поэтому он будет использовать аппаратное ускорение.

  1. знаете ли вы, как сообщить Facebook о встраивании swf в прямом режиме?

Вы должны изменить свой файл-оболочку HTML (где встроена ваша вспышка), добавить новый параметр «wmode = direct», и он будет работать отлично. Место, где вы должны изменить свой параметр wmode, зависит от того, с какой IDE вы работаете. С помощью FlashDevelop или Flash Builder вы просто добавляете

wmode: "direct" 

в массив параметров

person KumoKairo    schedule 11.09.2013
comment
@Kumokario, это здорово, но html, обертка файла flash, сделана facebook, как вы, наверное, знаете - person Shvilam; 11.09.2013
comment
Если вы добавляете приложение facebook, вы добавляете его как приложение iframe. Пока это приложение iframe, оно использует ваш собственный файл индекса html или что-то еще, что необходимо. Еще более распространено приложение iframe. Я даже не знал, что у facebook есть собственная обертка ;D - person KumoKairo; 11.09.2013