晚上好/早上好。
我在As3中创建了一个游戏,其中添加的敌人不是动态添加的。
if(hero attacks enemy)
{ then parent.removeChild(enemy) }
当英雄攻击敌人时,敌人将其从我认为的显示列表中移除。
但是当你重置关卡时,即回到开始菜单并返回到关卡,你会看到敌人不在关卡中,因为它们已被移除。
我的问题是,有没有办法可以重置该帧中的显示对象,在As2中我刷新了flash电影。但这在编码方面并不好,因为它表明你没有开发或学习。
如果没有办法,你会建议动态添加将被删除的对象吗?
另一个问题是我的等级是在容器中。
//on the stage, there is a movieclip called container.
//In this container mc(movie clip) it contains the whole level, including platforms,
//enemies and props
如果我从该容器中移除道具,为了重置游戏,我会这样做
container.addChild(prop)
//the question is that how do I set it's x and y position?
谢谢,我将感谢所有人的反馈和建议。
答案 0 :(得分:1)
是的,当您动态删除它们时,需要再次动态添加它们才能重置它们。你要么预定义他们的位置并重新设置它们,要么你可以隐藏这些敌人并让它们再次重现游戏重置。取决于您的代码和结构。
答案 1 :(得分:1)
理想情况下,最好不要将它们从显示列表中删除,而是将其隐藏起来并将它们重置回原点。
进入的一个好习惯是尽可能避免失控实例化的可能性;这意味着,如果你要在每次生成和杀死敌人时实例化并移除敌人,垃圾收集者必须非常努力地跟上。一个更好的方法是拥有一个足够大的敌人池,以支持你一次需要的敌人。