2014-02-18 3 views
0

я до сих пор не понимаю, что делать в подобных ситуациях ...AS3 столкновение с возможным объектом

Я пытаюсь разработать простую игру лабиринт, где вы не можете коснуться стены или вы будете потерять.

Я создал класс игрока и добавил его ребенка, используя stage.addChild(player) в основном классе.

Я также нарисовал объект стены графически на сцене ... Когда я запускаю игру, он говорит, конечно, что walls is an undefined property. Тогда как я должен объяснить это присутствие «EVENTUAL» в классе Player ->this.hitTestObject(XXX)?

ответ

0

Вы можете проверить столкновение в главном классе

var player:Player; 

var walls:Array; 

function checkCollistion():void 
{ 

    for each (var wall:YourWallClass in walls) 
    { 
     //here is the simplest wall to do check hitTestObject 
     //you can optimize it 
     if (player.hitTestObject(wall) 
     { 

     } 

    } 
} 

Или вы можете сохранить ссылку стены в классе игроков. Поэтому, когда вы создаете экземпляр playe со стенами, определяете в основном классе.

public class Player 
{ 

    private var walls:Array; 

    public function Player($walls:Array) 
    { 
      walls = $walls; 
    } 
} 
Смежные вопросы