AIR发布的程序无法显示或正常工作

时间:2014-11-16 08:08:15

标签: arrays actionscript-3 flash air

我已完成Adobe AIR程序并已发布,但已安装的程序无法正常运行。有些对象正确加载,但有些对象没有加载。

具体来说,我有大约20个图像在Y:459处排成一行,所以Y值在被推入数组之前被设置在一个循环中。然后通过引用它们在数组中的位置来设置x值。图像全部出现在X轴的0位置。

对于AIR中的数组的特殊注意事项,我有什么不了解的吗? 程序的其他问题也可能与数组有关;有没有人知道为什么?

程序在测试时在Flash中正常运行,因此我不明白为什么AIR中存在问题。我做了一些故障排除并将AIR更新到15.0.0.356版。

我试图找到一些方法来查看正在运行的程序中的错误消息,这样我就可以看到它失败的原因,但没有运气。

非常感谢你的建议。

EDIT 非常感谢您的回复。 第一个屏幕截图是从Flash测试的程序,显示了在Y:459排列的四个图像和分别设置的不同X位置。 http://i60.tinypic.com/r8f0gw.png

第二个屏幕截图是已发布的已安装程序,它显示了在Y:459排列的四个图像,但它们都是X:0。 http://i58.tinypic.com/1z58dmv.png

我遍历一个加载器数组,从每个加载器中制作一个位图,应用平滑,添加到一个movieclip,以便在将它们推入'lightImgs'数组之前,可以使用我自己的:Image类调整它们的大小。因为它们都需要是Y:459,我在循环中完成了这个,然后改变了循环外的X位置(你可以看到前四个图像X位置被设置)

lightImgs = new Array ();
        for (var i:int = 0; i < 21; i++){
            trace (i);
            var bmp:Bitmap = Bitmap (lightImages[i].content);
            bmp.smoothing = true;
            var tempMC:MovieClip = new MovieClip ();
            tempMC.addChild (bmp);
            var p:Point = new Point (150, 150);
            var tempImg:Image = new Image (tempMC, p);
            tempMC.x -= tempMC.width/2;
            tempMC.y -= tempMC.height/2;

            lightImgs.push (tempImg);
            tempImg.y = 459;
            addChild (tempImg);
            trace ('x ' + tempImg.x + ' y ' + tempImg.y);
        }

        lightImgs[0].x = 110;
        lightImgs[1].x = 270;
        lightImgs[2].x = 430;
        lightImgs[3].x = 590;
如果这不是'方式',请原谅我,我不是专业人士,随时随地学习。我很有兴趣知道为什么它在测试时有效但在发布时没有:-s。谢谢! P.P.S我很抱歉我没有足够的代表直接发布图片。

1 个答案:

答案 0 :(得分:0)

数组只是数据列表。问题将放置在页面上将与您分配图像的X位置相关。 image.x =?如果您使用相同的X加载了所有的X,或者您没有设置X位置。然后他们将堆叠在彼此之上。另一种可能是您在设置X值时不考虑图像的实际宽度。没有代码示例很难诊断问题。此外,除非您检查错误或记录某些事件,否则无法从正在运行的示例中看到错误。如果所有内容都显示在屏幕上,则应用程序会认为一切正常运行。