在 flash 中如何确定您触摸的是什么对象?

In flash how do determine what object you touch?

我正在为 ios/iphone/ipad 制作一款攻牙赛车游戏。我有 3 个具有触摸事件侦听器的对象。当汽车被触摸或敲击时,它们不会移动。有没有办法确定您触摸的是什么物体?我试过 e.currentTarget 但这不起作用。这是我试过的代码。

感谢您提供任何提示、帮助或建议。

//has been added 
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
//

cars0.addEventListener(TouchEvent.TOUCH_BEGIN, gasOn);
cars1.addEventListener(TouchEvent.TOUCH_BEGIN, gasOn);
cars2.addEventListener(TouchEvent.TOUCH_BEGIN, gasOn);

private function gasOn(e:TouchEvent):void {
        e.currentTarget.x+=10;
}

Reading the Documentation 告诉我们事件(例如 TouchEvents)确实具有名为 targetcurrentTarget.

的属性

顾名思义,目标属性告诉我们点击了谁。

尝试以下操作:

function gasOn(e:TouchEvent):void{
   if(e.target == cars0){
       //you clicked cars0
   }else if(e.target == cars1){
       //you clicked cars1
   }else if(e.target == cars2){
       //you clicked cars2
   }
}

如果这不起作用,您可以尝试将 event.target 转换为汽车的 Class(我假设它是一个单独的 class?)。即:

function gasOn(e:TouchEvent):void{
    //Car in this case would be your Class for the cars objects
    var car:Car = e.target as Car;
    if(car == cars0){...//same as above
}