如何使用相同 Class 的多个对象来 HitTestObject?
How to HitTestObject with Multiple Objects of Same Class?
好吧,我好像想不通。我是 displayObjectContainer 的新手,根据我的阅读,我认为我可能需要访问它以检查 HitTestObject。
所以我有一个叫做 mcCar
的 class 和另一个叫做 mcMainScreen
的 class,我通过我的主引擎给它取了一个名字 "mainScreen" class 像这样 private var mainScreen:mcMainScreen;
我正在使用 Flash Develop 进行所有编码。现在,在 class mcMainScreen
中,我向其中添加了一个影片剪辑对象,我刚刚将其命名为 "bushes" 但是我在 mcMainScreen
class 上添加了很多Flash CS6 只是视觉效果,没有代码或任何东西。现在通常我会给灌木丛一个实例名称并说:
if (mainScreen.bushes.hitTestObject(car))
{
trace("HIT");
}
但是由于 "bushes" 的多个实例被添加到我的 mcMainScreen
影片剪辑的舞台上,所以它只跟踪其中一个灌木丛的 hitTest,而不是所有灌木丛。所以我知道我需要将它们添加到数组中并使用 for 循环遍历所有 "bushes" 但我在正确执行此操作时遇到了很多麻烦。有没有一种方法,我不必给它们实例名称,就可以为 hitTes 遍历它们?
任何帮助将不胜感激提前谢谢!
最好的方法是将灌木丛添加到数组中。
var bushArr:Array = new Array();
for(var i=0; i<mainScreen.numChildren; i++){
var bush = getChildAt(i) as Bush;
bushArr.push(bush);
}
this.addEventListener(Event.ENTER_FRAME, onLoop);
function onLoop(evt:Event){
for(var j=0;j<bushArr.length;J++){
var bush:Bush = bushArr[j] as Bush;
if (bush.hitTestObject(car))
{
trace("HIT");
}
}
}
逻辑是,您需要创建灌木并将其存储在数组中。在 lop 中,您将使用 car 实例检查数组中的每一个。
好吧,我好像想不通。我是 displayObjectContainer 的新手,根据我的阅读,我认为我可能需要访问它以检查 HitTestObject。
所以我有一个叫做 mcCar
的 class 和另一个叫做 mcMainScreen
的 class,我通过我的主引擎给它取了一个名字 "mainScreen" class 像这样 private var mainScreen:mcMainScreen;
我正在使用 Flash Develop 进行所有编码。现在,在 class mcMainScreen
中,我向其中添加了一个影片剪辑对象,我刚刚将其命名为 "bushes" 但是我在 mcMainScreen
class 上添加了很多Flash CS6 只是视觉效果,没有代码或任何东西。现在通常我会给灌木丛一个实例名称并说:
if (mainScreen.bushes.hitTestObject(car))
{
trace("HIT");
}
但是由于 "bushes" 的多个实例被添加到我的 mcMainScreen
影片剪辑的舞台上,所以它只跟踪其中一个灌木丛的 hitTest,而不是所有灌木丛。所以我知道我需要将它们添加到数组中并使用 for 循环遍历所有 "bushes" 但我在正确执行此操作时遇到了很多麻烦。有没有一种方法,我不必给它们实例名称,就可以为 hitTes 遍历它们?
任何帮助将不胜感激提前谢谢!
最好的方法是将灌木丛添加到数组中。
var bushArr:Array = new Array();
for(var i=0; i<mainScreen.numChildren; i++){
var bush = getChildAt(i) as Bush;
bushArr.push(bush);
}
this.addEventListener(Event.ENTER_FRAME, onLoop);
function onLoop(evt:Event){
for(var j=0;j<bushArr.length;J++){
var bush:Bush = bushArr[j] as Bush;
if (bush.hitTestObject(car))
{
trace("HIT");
}
}
}
逻辑是,您需要创建灌木并将其存储在数组中。在 lop 中,您将使用 car 实例检查数组中的每一个。