问题描述
|
我们正在使用ActionScript 3.0通过Flash 5.5制作供手机使用的简单Flash游戏。我们将垂直排列一系列对象,直到它们击中舞台顶部的另一个对象。我们用10个MovieClip动画之一实例化数组的每个元素。每个对象都有两个事件侦听器。一个用于垂直设置动画,另一个用于侦听鼠标单击(将对象从舞台上移除)。一次在舞台上放置10个以上的对象时,我们会遇到一个问题。问题是这些对象零星地消失了,没有解释。我们认为问题是由于某种类型的内存/垃圾回收问题引起的。以下是我们的代码片段,该片段将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,true);
sArrayFinal[count].addEventListener(MouseEvent.CLICK,taphandler,true);
sArrayFinal[count].y = 480;
count++;
}
else
{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER,dispatch);
timer = null;
}
}
为了使MovieClips不消失,我们该怎么办?
谢谢!!!!
解决方法
我在该代码中没有看到实例化对象的地方。相反,我看到的是已经实例化的对象被移动到位。我猜测正在发生的事情是,您最初仅实例化了10个对象,因此,当您尝试分派\“ new \”时,您实际上正在做的是获取一个现有对象,将其从无论它在舞台中间的什么位置,都应放回开始位置。
, 我或多或少一直在学习AS3,以了解3d功能........
我以任何方式创造了外观精美的3D旋转笔记本电脑
您可以在这里查看它www.parelle.com.au
我的问题是,一旦发生某些视觉/动画效果,图形就消失了,例如,如果您检查键盘上方的网站链接,并且屏幕是否包含在另一个主体中的单独的影片剪辑(电影剪辑)中,则屏幕是否具有动画的键盘功能,因此大约10秒钟后,屏幕或某些部分将消失,直到移动了鼠标或渲染了某些东西
我的简单解决方法是使隐藏的动画连续地在影片剪辑中播放,让Flash忙于渲染mc使所有内容都在屏幕上
我以为我会添加到帖子中,因为此错误激怒了我,我进行了搜索,但是,是的,如果您遇到相同的问题,我希望它可以为您解决