Flashdevelop As3 src\Enemy.as(28): col: 16 Error: Return value must be undefined. return false;

Flashdevelop As3 src\Enemy.as(28): col: 16 Error: Return value must be undefined. return false;

我目前正在为我的 uni 模块开发游戏,但似乎不知道如何解决这个问题。有人可以帮帮我吗?该游戏是一款 2D 平台游戏,当敌人的生命值 <=0 时,我试图让敌人消失,但是当我尝试测试游戏时收到这些错误消息。 D:\FlashDevelop\Projects\Assessment (游戏技巧)\src\Enemy.as(27): col: 16 错误: Return 值必须未定义。 return 真; ^ D:\FlashDevelop\Projects\Assessment (游戏技巧)\src\Enemy.as(28): col: 16 错误: Return 值必须未定义。 return 错误; ^ 构建因错误而停止 (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;
        }

    }

}

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

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