Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在ActionScript3.0中,有没有办法在两个类之间使用hitTestObject?_Actionscript 3_Class - Fatal编程技术网

Actionscript 3 在ActionScript3.0中,有没有办法在两个类之间使用hitTestObject?

Actionscript 3 在ActionScript3.0中,有没有办法在两个类之间使用hitTestObject?,actionscript-3,class,Actionscript 3,Class,我有一个我一直在做的游戏,我想测试一下我的汽车课是否达到了我的蟾蜍课。我试过了,但遇到了类似“通过静态类型类的引用调用可能未定义的方法hitTestObject”的错误。 所以基本上,我不想使用实例,因为不可能对所有实例单独编程。这就是我一直想做的 //document class, if (theToad.hitTestObject(myBlueCar)) { trace("It's working!"); } //theToad is the name of a class and

我有一个我一直在做的游戏,我想测试一下我的汽车课是否达到了我的蟾蜍课。我试过了,但遇到了类似“通过静态类型类的引用调用可能未定义的方法hitTestObject”的错误。 所以基本上,我不想使用实例,因为不可能对所有实例单独编程。这就是我一直想做的

//document class,
if (theToad.hitTestObject(myBlueCar)) {
    trace("It's working!");
}
//theToad is the name of a class and so is myBlueCar
所以当我运行这个程序时,我得到了相同的“调用一个可能的…”错误。求求你,我对这一切都是半生不熟的,如果有人知道如何避开这一切,我将不胜感激

“通过静态类型类的引用调用可能未定义的方法hitTestObject

因为您需要创建
Car
Toad
类的实例。 我想你是这样做的:

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 :(");
}

假设对象是通过代码添加的,并且不在舞台上,则可以执行以下操作:

您需要创建实例并在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 :(");
   }

}

你至少应该发布一个代码示例…我更新了它。这是我第一次在这里发布…好的,谢谢,但是我应该在哪里创建这些变量,并在document类中测试它们?如果是这样,它怎么知道我在说什么,比如它不会说未定义属性“toad”“。作为一名flash新手,如果您将使用document类,则没有问题。要定义
Toad
Car
,请在库中创建movieclips。好的,我做了你说的每件事,但我希望能够重用汽车,而不必对它们进行编程,这就是为什么我需要它们在类之间进行测试。在游戏中,他们有很多车,所以我需要能够测试他们所有的蟾蜍,你能帮忙吗?只要在你的hittest函数中创建多个If语句。或者你可以将它们全部添加到一个数组中,创建一个For循环,这是一种更高级的方法,但是使用If语句是最好的方法。你可以发布一个数组方法的示例吗,我不太明白。。。我想您应该在创建后测试这两个数组。但无论如何,在理想世界中,我喜欢这样,比如说我有一个叫做Toad的类和一个叫做Car的类,我想去if(Car.hitTestObject(Toad)),但当然这不起作用!他们已经在舞台上了,他们都有自己的课。好吧,尼古拉的方法对你有用吗?另外,您可能希望通过stage.addchild()在stage上添加它们;位置让一切变得更干净。