Air для iOS Box2D конфликт нескольких SWF - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть приложение, которое содержит несколько SWF-игр.На главном экране приложения у вас есть значки, и каждый значок запускает игру, загружая файл SWF.

Все прекрасно работает на Android и Windows, но на iOS возникает конфликт с играми, использующими Box2D (на самом деле я использую QuickBox2D, ярлык Box2D).Когда я запускаю игру, содержащую Box2D, у меня появляется такая ошибка:

TypeError: Error #1034: Type Coercion failed: cannot convert Box2D.Collision::b2ContactID@103666911 to Box2D.Collision.b2ContactID.
at Box2D.Collision::b2ContactID()
at Box2D.Collision::b2ContactPoint()
at Box2D.Dynamics::b2ContactManager$cinit()
at Box2D.Dynamics::b2ContactManager$cinit()
at global$init()
at global$init()
at Box2D.Dynamics::b2World()

Странно то, что я обнаружил, что если я сначала запускаю игру swf с именем на первой позиции в алфавитном порядке, она работает, илюбая другая игра тоже работает.Пример У меня есть 3 игры с Box2D A.swf, B.swf и C.swf.Если я запускаю сначала A.swf, он работает, и B и C тоже работают.Если я запускаю первый C.swf, приложение зависает с ошибкой.

Я знаю, что компиляция на iOS отличается, так как все SWF перепутаны (что-то вроде этого), но любая помощь приветствуется, спасибо!

1 Ответ

0 голосов
/ 06 декабря 2018

Через несколько часов я нашел решение, используя 1 экземпляр b2World для всех swf, а не 1 экземпляр swf.Теперь нет никакого конфликта, я думаю, что все экземпляры b2World находятся на одном уровне в iOS ... Я оставляю это здесь для тех, у кого есть такая же проблема.

...