AIR应用程序在IDE中工作,但不在设备上

AIR应用程序在IDE中工作,但不在设备上

问题描述:

我正在开发一个AIR for android和Starling框架的游戏。我正在使用Flash CC作为IDE。当我测试闪光时它工作正常,但当我发布到Android它不能正常工作。AIR应用程序在IDE中工作,但不在设备上

我有一个屏幕管理器类,隐藏和显示菜单,水平选择和游戏中的屏幕。为此我有一个自定义事件类。以下功能位于Screen manager类中。它适用于每个目标值,但 不适用于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内部工作,但设备内部没有任何反应。所有其他活动正在进行。事件上述函数的第一个条件工作正常。

在AIR for Android平台上发布时,请记住文件名区分大小写。

例如我有一个名为“LevelData.json”的文件。注意大写'D'。

我加载此文件到八哥资产经理像下面

assets.enqueue(dir.resolvePath("Data/Levels/leveldata.json")); 

请注意,我用“d”小写字母。由于Windows具有不区分大小写的文件名,它不会引起任何问题,但是当我在实际的Android设备上运行该应用程序时。它不起作用。所以我把原来的文件名改为“leveldata.json”ans瞧!该应用现在运行良好。

+0

恭喜你找出+1来发布一个可能会阻止其他人的问题的宝贵答案。 –