-1

我在我的游戏类(不是主类)中实现了一个触摸事件。

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;

米尔扎

4

2 回答 2

0

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

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

于 2013-10-01T12:39:03.360 回答
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);



            }
于 2013-10-01T13:28:34.753 回答