有没有办法在ActionScript 3.0中的两个类之间使用hitTestObject?

时间:2014-03-08 21:08:00

标签: actionscript-3 class

我有这个游戏,我一直在努力,我想测试我的Car Class是否正在击中我的Toad Class。我试过,我得到的错误,如“通过静态类型Class的引用调用可能未定义的方法hitTestObject”。 所以基本上,我不会使用实例,因为不可能单独编程所有实例。这就是我一直想做的......

//document class,
if (theToad.hitTestObject(myBlueCar)) {
    trace("It's working!");
}
//theToad is the name of a class and so is myBlueCar

因此,当我运行此操作时,我会得到同样的“调用可能......”错误。拜托,我对这一切都是半新的,如果有人知道怎么解决这个问题,那将是非常感激的。

2 个答案:

答案 0 :(得分:0)

  

“通过静态类型Class

的引用调用可能未定义的方法hitTestObject

因为您需要创建CarToad类的实例。 我假设你是这样做的:

Car.hitTestObject(Toad); 
//But you must create instances
var car: Car = new Car();
var toad: Toad = new Toad();
if(car.hitTestObject(toad)){
    trace("poor toad :(");
}

答案 1 :(得分:0)

假设通过代码添加了对象并且不在舞台上,您可以这样做:

您需要创建实例并在MainClass中启动它们,如下所示:

Private var toad:theToad;
Private var car:theBlueCar;

然后在你的构造函数中启动它们:

toad = new theToad();
car = new theBlueCar();

然后你的enterFrame事件函数中的Hittest如下:

private function checkCarHitToad():void
{

  if(car.hitTestObject(toad))
   {
      trace("poor toad :(");
   }

}