Flashdevelop As3 src \ Enemy.as(28):col:16错误:返回值必须是未定义的。返回false;

时间:2015-01-08 11:15:42

标签: actionscript-3 flashdevelop 2d-games

我目前正在为我的uni模块开发游戏,但似乎无法弄清楚如何解决这个问题。有人可以帮帮我吗?游戏是2D平台游戏,当敌人的生命值<= 0时,我试图让敌人消失,但是当我尝试测试游戏时,我收到这些错误消息。 D:\ FlashDevelop \ Projects \ Assessment(Game Techniques)\ src \ Enemy.as(27):col:16错误:返回值必须是未定义的。                 返回true;                            ^ D:\ FlashDevelop \ Projects \ Assessment(Game Techniques)\ src \ Enemy.as(28):col:16错误:返回值必须是未定义的。             返回false;                         ^ 构建因错误而停止(fcsh)。

这是我的敌人代码:

package  
{
    import flash.display.MovieClip;
    /**
     * ...
     * @author Umeer
     */
    public class Enemy extends MovieClip
    {
        public var health:int = 100;
        public function Enemy() 
        {
            this.graphics.beginFill(0xFF1100, 1);
            this.graphics.drawCircle(this.x, this.y, 25);
            this.graphics.endFill();
        }
        public function CheckObj(obj:Player,bullets:Array):void
        {
            if (Math.abs(obj.x - x) < obj.width / 2 + width / 2 && Math.abs(obj.y - y) < obj.height / 2 + height / 2)
                obj.health --;
            for (var i:int = 0; i < bullets.length; i++)
            {
                if (Math.abs(bullets[i].x - x) < width / 2 && Math.abs(bullets[i].y - y) < height / 2)
                    health -= 50;
            }
            if (health <= 0)
                return true;
            return false;
        }

    }

}

1 个答案:

答案 0 :(得分:1)

您在定义的返回值为return false的函数中使用void。 您应该将函数CheckObj的签名更改为:

public function CheckObj(obj:Player, bullets:Array):Boolean