我正在使用cs6 as3和air创建一个简单的安卓应用程序都是关于3个场景场景1是菜单场景2是一种类型的图像使用数组(pictureArraym)场景3是另一种类型的图像也使用数组((pictureArray2n) )
因此,当按下设备上的后退按钮时,应该会返回到场景1(菜单场景)
因此,当从场景2返回到场景1时,图片数组可以很好地移除,但当从场景3返回到场景1时,它成功返回,但pictureArray2中的图像保留在背景中:(
我应该怎么做才能在移除所有数组的情况下回到主场景!!
这是我在场景1中使用的后台代码
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, CheckKeypress, false, 0, true)
function CheckKeypress(event:KeyboardEvent):void
{
switch (event.keyCode)
{
case Keyboard.BACK:
event.preventDefault();
gotoAndStop(1, "Scene 1");
removeChild(pictureArray[m]);
removeChild(pictureArray2[n]);
}
}发布于 2014-03-31 13:31:38
在看不到时间线或不知道m和n来自哪里的情况下,很难说。
如果可以在切换场景时从舞台上移除pictureArray和pictureArray的所有成员,请尝试在从一个场景转到另一个场景之前添加此函数并调用它:
function removeParents(myArray:Array) : void{
for each(var object:DisplayObject in myArray)
{
if(object.parent)
{
object.parent.removeChild(object);
}
}
}所以像这样使用它:
...
removeParents(pictureArray);
removeParents(pictureArray2);
gotoAndStop(1, "Scene 1");
....https://stackoverflow.com/questions/22751494
复制相似问题