【问题标题】:Starling on iOS - Touch event handler "dies off"iOS 上的 Starling - 触摸事件处理程序“消失”
【发布时间】:2013-10-01 17:20:04
【问题描述】:

我有一个方法可以在 Box2d 中对球施加力。

在桌面上本地测试它工作正常,但在 iPad (ios7) 上 该方法只执行到一半!

我从来没有遇到过这么奇怪的错误,这里有什么问题:

function onTouch(e:TouchEvent) {

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



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


        //do something

        _debugT.text = "works";


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

    _debugT.text = "stops here...";


    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:Number = angle * 180 / Math.PI;



    _debugT.text = "never gets executed"



    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);



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





    }

}

【问题讨论】:

  • _whiteBall.GetPosition() 是抛出还是返回 null(第一次或第二次)?
  • 没查过,几小时后更新你

标签: iphone ios actionscript-3 starling-framework


【解决方案1】:

对我来说,它看起来像 Multitouch.inputMode = MultitouchInputMode.GESTURE;导致这个问题。

我遇到了同样的问题并注释掉了这一行,它现在可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    相关资源
    最近更新 更多