2015-01-08 6 views
0

В настоящее время я работаю над игрой для своего модуля uni и не могу понять, как решить эту проблему. Может кто-нибудь, пожалуйста, помогите мне? Игра представляет собой 2D-платформер, и я пытаюсь заставить противника исчезнуть, когда здоровье врага < = 0, но я получаю эти сообщения об ошибках, когда пытаюсь проверить игру. D: \ FlashDevelop \ Projects \ Оценка (игровые приемы) \ src \ Enemy.as (27): col: 16 Ошибка: возвращаемое значение должно быть неопределенным. return true; ^ D: \ FlashDevelop \ Projects \ Оценка (игровые приемы) \ src \ Enemy.as (28): col: 16 Ошибка: возвращаемое значение должно быть неопределенным. return false; ^ Сборка с ошибками (fcsh).Flashdevelop As3 src Enemy.as (28): col: 16 Ошибка: возвращаемое значение должно быть неопределенным. return false;

это мой код для врага:

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

Вы используете в функции с определенным возвращаемым значением, как voidreturn false. Вы должны изменить подпись функции CheckObj на:

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

Он работает сейчас, я бы никогда не думал об этом, спасибо большое! – Umeer