我们正在使用ActionScript 3.0通过Flash 5.5制作一款适用于手机的简单Flash游戏。我们垂直动画一组对象,直到它们击中舞台顶部的另一个对象。我们用10个MovieClip动画中的一个实例化数组的每个元素。每个对象都有两个事件监听器;一个用于垂直动画,另一个用于监听鼠标单击(从舞台中删除对象)。当一次有超过10个物体在舞台上时,我们遇到了一个问题。问题是这些物体偶尔消失而没有解释。我们假设问题是由于某种类型的内存/垃圾收集问题。下面是我们的代码的snippit,它将MovieClip实例分派到舞台上。
function dispatch(e:TimerEvent):void{
if(count < srrayFinal.length)
{
addChild(sArrayFinal[count]);
sArrayFinal[count].x = randomNumberXtart();
sArrayFinal[count].addEventListener(Event.ENTER_FRAME, fl_AnimateVertically, false, 0, true);
sArrayFinal[count].addEventListener(MouseEvent.CLICK, taphandler, false, 0, true);
sArrayFinal[count].y = 480;
count++;
}
else
{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, dispatch);
timer = null;
}
}
为了让MovieClip不会消失,我们可以做些什么? 感谢!!!!
答案 0 :(得分:1)
我没有看到代码中实例化对象的任何地方。相反,我看到的是已经实例化的对象被移动到位。我猜测发生的事情是你首先只有10个对象被实例化,所以当你尝试发送一个“新”对象时,你实际在做的就是获取一个现有的对象,从中间的任何地方移动它阶段,并把它放回到开头。
答案 1 :(得分:1)
我一直在学习AS3,或多或少地对3D功能有所了解........ 任何方式我创造了一个视觉上体面的3D旋转笔记本电脑
你可以在这里查看www.parelle.com.au
我的问题是,一旦某些视觉/动画发生,图形就会消失,例如,如果你检查键盘上方的网站链接,屏幕是另一个体内包含的单独的电影剪辑(电影剪辑)屏幕是动画的,键盘不是' t,所以在10秒左右后,屏幕或某些部分会消失,直到鼠标移动或呈现某些东西
我的简单修复是让隐藏的动画在影片剪辑中连续播放,保持闪光灯忙于呈现mc将所有内容保存在屏幕上
我以为我会添加到帖子中,因为这个bug让我感到恶心,我搜索和搜索,,,但是如果你有同样的问题,我希望能为你解决这个问题