事件监听器一次只能工作一个。动作

时间:2015-03-19 10:57:10

标签: android actionscript-3 flash rotation event-listener

我已经在这个问题上苦苦挣扎了很长一段时间,但无法找到解决方案。

使用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;

        }                 
}   

}

任何人都可以看到我做错了吗?

0 个答案:

没有答案