我正在构建一个小游戏。
在我的文档类上,我创建了该类的一个实例,Character
并Level
使用以下代码:
//add the Level
level = new TileGrid();
level.y = 100;
level.x = 400;
addChild(player);
//add our player
player = new Character();
player.y = 150;
player.x = 400;
addChild(player);
我还创建了一个处理用户输入的控制器类。(例如检查玩家是否能够向右移动。)
我还为键盘事件和其他东西创建事件监听器。
checkTile(tileNumber)
当按下一个键时,我想通过从控制器类中调用 TileGrid 类的函数来检查是否可以移动。
控制器类如下所示:
package {
import flash.events.KeyboardEvent;
import flash.events.Event;
public class Controller{
//Constructor code
public function Controller(){}
//Keyboard pressed -> move character
public function keyPressed(evt:KeyboardEvent):void
{
trace(level.checkTile(30));
}
}
TileGrid 类看起来像这样:
package {
import flash.events.KeyboardEvent;
import flash.events.Event;
public class TileGrid{
//Constructor code
public function TileGrid(){
//Creating all the tiles and adding them to the stage.
}
//Check if a certain tile is walkable
public function checkTile(tileNumberType){
if(tileNumberType > 15){
return false;
}else{
return true;
}
}
}
但是当我测试这个时,我得到以下错误:
Line 81 1120: Access of undefined property level.
当我尝试时:trace(Object(parent).level.checkTile(30));
我得到:1120: Access of undefined property parent.
如何使用第二类的实例访问一个类的方法?