0

我正在制作这个小型 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;
    }

}

以下函数是一个最热门的对象函数,它会在用户点击对象时更新变量“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);
        }
}

}
4

1 回答 1

1

You are constantly adding new feathers since the "leeft" function is called on each frame. The result is that the feathers are stacked on top of each other, so if you remove one, the other at the same location appears. I suppose you'll want to execute this method once during initialization.

于 2013-05-29T13:05:20.483 回答