我正在制作这个小型Flash游戏,用户必须飞行并试图躲闪...当用户击中一个物体时,它必须移除他的一条羽毛所显示的生命。
游戏的一切都很完美,但是羽毛不想在画面上更新(它们会一直显示3,这是生命的起始量)。
此功能可添加羽毛(说明玩家的生命)。
var levens = 3;
stage.addEventListener(Event.ENTER_FRAME, leeft);
function leeft(evt:Event):void {
for(var i = 0; i < levens; i++)
{
var v:MovieClip = new feather_mc();
addChild(v);
v.x = 50 + i*12;
v.y = 382;
}
}
以下函数是一个hittest对象函数,只要用户点击一个对象就会更新变量“levens”
function raak(evt:Event):void {
if(eagle_mc.hitTestPoint(evt.target.x,evt.target.y, true)==true)
{
removeChild(MovieClip(evt.target));
evt.target.removeEventListener(Event.ENTER_FRAME,raak);
levens--;
if(levens==0)
{
gotoAndStop(41);
}
}
}
答案 0 :(得分:1)
由于每帧都会调用“leeft”功能,因此您不断添加新的羽毛。结果是羽毛堆叠在彼此之上,因此如果您移除一个,则会出现另一个位于同一位置的羽毛。我想你想在初始化期间执行一次这个方法。