为什么对象出现在AIR Android上的不同位置?

时间:2016-02-10 05:02:55

标签: flash actionscript air

我面临的问题已经开始让我感到沮丧。任何帮助我解决问题的人都会对我来说就像一个圣人。

我已经在AIR Android应用程序上工作了大约8个月了。我已经编写了大约15k行代码,分布在60个类中。当我在Windows上测试它时,一切都运行得很好,但是当我在我的设备上安装应用程序(三星Galaxy S4)时,有些东西不能正常工作。有些物体出现在不同的地方,而其他物体则根本不出现。还有其他奇怪的东西。当我将渲染模式设置为GPU时,事情会变得更加疯狂。我的意思是我无法真正看到应用程序的大部分内容。

为了让您了解这个问题,我决定使用gpu和cpu渲染在PC和设备上制作我的应用视频。

ON WINDOWS:https://www.youtube.com/watch?v=Ncknm-_7BN8

正如你所看到的,这里的一切都很好。

ON ANDROID(CPU):https://www.youtube.com/watch?v=4VFPg3vxSOw

  • 第一个问题

    在"今天"屏幕,当我点击" +"按钮。弹出窗口不会出现在它应该出现的位置。虽然有些代码正在运行,但有些代码却没有。比如,颜色没有变化。这是使弹出窗口显示的show()函数。

    public function show():void
    {
      homeCurrency = sett.xmlDB.HomeCurrency.@name;
      this.visible = true;
      TweenMax.to(this, .4, { alpha:1} );
    
      if(AirNetworkInfo.networkInfo.isConnected())
      {
        if (homeCurrency != getCurrentCurrency())
        {
            curr_txt.text = "Entered value will be converted from " +   getCurrentCurrency() + " to " + homeCurrency;
        }
        else {
    
            curr_txt.text = "";
        }
    }
    else
    {
        curr_txt.text = "";
    }
    
    changeColors();
    

    }

函数changeColors()应该很好,改变颜色不起作用。以下是changeColors()的外观:

private function changeColors():void
    {
        for (var i:int = 0; i < allObjects.length; i++)
        {
            TweenMax.to(allObjects[i], .2, {tint:_main.settings.xmlDB.Theme.@name} );
        }

        curr_txt.textColor = _main.settings.xmlDB.Theme.@name;
    }
  • 问题2 “无连接”弹出窗口根本不显示。动画正在运行,但没有弹出窗口。

  • 问题3 第二个问题出现在&#34;管理贷款屏幕&#34;。这个,我不知道这里发生了什么。我希望有人可以向我解释。

  • 问题4 在&#34;设置&#34;中,点击国家/地区按钮选择国家/地区。什么都没发生。该列表应该显示但没有任何反应。

ON ANDROID(GPU):https://www.youtube.com/watch?v=FcbdTgfT6GM

嗯,你看到了这里发生的事情。谁能解释一下?帮我?我真的很感激。

2 个答案:

答案 0 :(得分:2)

问题1。您是否在应用中加载了XML设置?如果是这样,也许XML没有成功打包。

对于其他问题,您是否在Android上进行测试时使用调试模式以查看输出日志中的任何错误?

答案 1 :(得分:2)

您是否尝试过移动设备中的远程调试?将您的应用程序连接到PC中的闪存/空气调试器。我在手机上,所以我没有看过视频,但各种滤镜(包括你似乎使用的模糊和彩色滤镜在gpu模式下都不起作用 - 虽然它们在直接模式下工作)。我不建议在gpu模式下使用任何过滤器,甚至包装在TweenMax中。阿尔法没问题。