更新玩家拥有的“生命”数量

时间:2013-05-29 11:15:11

标签: actionscript

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

}

1 个答案:

答案 0 :(得分:1)

由于每帧都会调用“leeft”功能,因此您不断添加新的羽毛。结果是羽毛堆叠在彼此之上,因此如果您移除一个,则会出现另一个位于同一位置的羽毛。我想你想在初始化期间执行一次这个方法。