我已经在这个问题上苦苦挣扎了很长一段时间,但无法找到解决方案。
使用Actionscript,我正在为Android制作触摸游戏,我需要旋转三个球,但是当我测试游戏时,我一次只能旋转一个对象。如果我旋转球#1,听众就不会为其他球工作。如果我尝试旋转球#2,只有球#1将继续旋转。如果我重新开始测试,我可以旋转任何其他球,但和以前一样,只有选中的球会响应。
我认为我构建听众的方式是错误的。请记住,我仍处于初学者水平。
以下是代码:
包
{
import flash.events.Event;
import flash.ui.MultitouchInputMode;
import flash.events.TouchEvent;
import flash.ui.Multitouch;
import flash.events.*;
import flash.display.*;
import flash.events.TransformGestureEvent;
public class GameMain extends MovieClip
{
private var ball1:Lball1;
private var ball2:Lball2;
private var ball3:Lball3;
public function GameMain()
{
ball1 = new Lball1;
addChild(ball1);
ball1.x = 200;
ball1.y = 0;
ball2 = new Lball2;
addChild(ball2);
ball2.x = 200;
ball2.y = 200;
ball3 = new Lball3;
addChild(ball3);
ball3.x = 200;
ball3.y = 400;
Multitouch.inputMode = MultitouchInputMode.GESTURE;
ball1.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate);
ball2.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate2);
ball3.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate3);
}
public function onRotate (e:TransformGestureEvent):void
{
ball1.rotation += e.rotation;
}
public function onRotate2 (e:TransformGestureEvent) :void
{
ball2.rotation += e.rotation;
}
public function onRotate3 (e:TransformGestureEvent) :void
{
ball3.rotation += e.rotation;
}
}
}
任何人都可以看到我做错了吗?