我目前正在为我的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;
}
}
}
答案 0 :(得分:1)
您在定义的返回值为return false
的函数中使用void
。
您应该将函数CheckObj
的签名更改为:
public function CheckObj(obj:Player, bullets:Array):Boolean