Я разрабатываю игру с AIR для рамки android и Starling. Я использую Flash CC как IDE. Когда я тестирую i внутри flash, он отлично работает, но когда я публикую его на Android, он не работает должным образом.Приложение AIR работает внутри IDE, но не на устройстве
У меня есть экранный диспетчер, который скрывает и показывает меню, выбор уровня и экраны игры. Для этого у меня есть специальный класс событий. Функция, приведенная ниже, находится внутри класса Диспетчера экранов. Он работает для каждого значения назначения, но не для TO_GAME.
private function onNavigate(e: NavEvent)
{
if (e.destination == Destination.TO_HOME)
{
menuScreen.wake();
}
else if (e.destination == Destination.TO_LEVELS)
{
levelScreen.wake();
}
else if (e.destination == Destination.TO_GAME)
{
gameScreen.wake();
}
else if (e.destination == Destination.TO_HELP)
{
helpScreen.wake();
}
else if (e.destination == Destination.TO_ABOUT)
{
aboutScreen.wake();
}
}
Событие, инициированное пользователем, вызывается, когда пользователь нажимает кнопку уровня. См. Остальную часть
var btn:Button = e.target as Button;
if (btn == backBtn)
{
this.dispatchEvent(new NavEvent(NavEvent.NAVIGATE , Destination.TO_HOME));
this.sleep();
}
else
{
//just testing if I can get the level number from the position of the level button
trace(this.getLevelNumber(btn.x,btn.y));
this.dispatchEvent(new NavEvent(NavEvent.NAVIGATE , Destination.TO_GAME));
this.sleep();
}
Я уволил это событие с разных кнопок, но пока не повезло. Он работает внутри IDE, но внутри устройства ничего не происходит. Все остальные события работают. Событие первое условие в вышеуказанной функции работает нормально.
Поздравляем вас с расчетом +1 для публикации ценного ответа на проблему, которая может преследовать других. –