2013-10-01 3 views
0

У меня есть метод, который применяет силу к мячу в Box2d.Старлинг на iOS - Обработчик события Touch «отмирает»

Тестирование его локально на рабочем столе отлично работает, но на 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); 





    } 

} 
+0

_whiteBall.GetPosition() выбрасывает или возвращает null (первый или второй раз)? –

+0

не проверил его, обновит вас через несколько часов – mirzahat

ответ

0

Для меня это выглядит как Multitouch.inputMode = MultitouchInputMode.GESTURE; вызывает эту проблему.

У меня была такая же проблема и прокомментировал эту строку, и она работает сейчас.