在我的程序中发生了奇怪的事情

时间:2014-12-12 15:34:16

标签: actionscript-3

    for (var i = 0; i < bulletArray.length; i++)
    {
        var bullet = bulletArray[i];
        if (bullet != null)
        {
            if (bullet.hitTestObject(event.currentTarget))
            {
                /*
                var hitMarker = new HitMarker;
                addChild(hitMarker); // just an animation to show hit effect
                hitMarkerArray.push(hitMarker);

                hitMarker.x = bullet.x;
                hitMarker.y = bullet.y;
                hitMarker.addEventListener(Event.ENTER_FRAME, ridHitMarker);
                */
                var bulletPower = bulletArray[i].power;
                if (bullet != null)
                {
                    if (bullet.parent != null)
                    {
                        bullet.dead = true;
                    }
                }
                var baddy = event.currentTarget //baddyArray.indexOf(event.currentTarget);
                if (baddy != null)
                {
                        if (baddy.HP < 1)
                        {
                            baddy.removeEventListener(Event.ENTER_FRAME, updateBaddy);
                            if (baddy != null)
                            {
                                if (baddy.parent != null)
                                {
                                    baddy.parent.removeChild(baddy);
                                    baddyArray[baddyArray.indexOf(baddy)] = null;
                                }
                            }
                        }
                        else
                        {
                            baddy.HP -= bulletPower;
                                //trace("hit");
                        }
                        //baddyArray[baddy] = null;                     
                } //null                    
            } //hittest             
        } //if not null
    } //for

图片植物大战与僵尸,我有6排坏人(如僵尸),从右到左,武器(如植物)在他们所在的行上拍摄坏人。一切都很完美。我设置了一个输出来显示坏人HP(健康点),因为他们被击中。

问题在于,由于某种原因,TOP ROW上的坏人只会很快耗尽HP,即使他们没有被子弹击中,甚至没有武器在同一排。只有在武器开始射击时才会发生。

0 个答案:

没有答案