在iOS上咆哮 - 触摸事件不起作用

时间:2013-10-01 11:54:34

标签: ios actionscript-3 flash

我在我的游戏类(非主类)中实现了触摸事件。

addEventListener(starling.events.TouchEvent.TOUCH, onTouch);

function onTouch(e:starling.events.TouchEvent) {

     var touch:Touch = e.getTouch(stage) as Touch; 

}

在FlashDevelop中的移动模拟器中进行测试时,处理程序可以正常工作。

在运行iOS 7的iPad上进行测试时,它不会启动。

我错过了什么吗?

我在Main.as的开头有这个:

// touch or gesture?
    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

    Starling.multitouchEnabled = true;

米尔扎

2 个答案:

答案 0 :(得分:0)

您需要向我们展示您在事件处理程序中尝试执行的操作,因为您现在的问题是使用该代码。

您在问题中所做的只是创建指向触摸事件的指针。

答案 1 :(得分:0)

我正在向box2d机构施加力,我在FlashDevelop模拟器中使用它,但它在iOS设备上不起作用:

if (touch && touch.phase == TouchPhase.ENDED) {

                //do something


                    var mouseX_m:Number = touch.globalX;
            var mouseY_m:Number = touch.globalY;

            var xDiff:Number = mouseX_m - (_whiteBall.GetPosition().x * WORLD_SCALE);
            var yDiff:Number = mouseY_m - (_whiteBall.GetPosition().y * WORLD_SCALE);

            var angle:Number = Math.atan2(yDiff, xDiff);
            var angleDeg = angle * 180 / Math.PI;


            //que_mc.rotation = angleDeg;

            var len = Math.sqrt((xDiff * xDiff) + (yDiff * yDiff));

            var vx = len * Math.cos(angle);
            var vy = len * Math.sin(angle);

            var vel = _whiteBall.GetLinearVelocity();

            vel.x += (vx * 5);
            vel.y += (vy * 5);


                //apply force
                var force = new b2Vec2(vel.x, vel.y);
                _whiteBall.SetAwake(vel);
                _whiteBall.SetLinearVelocity(force);



            }