2013-10-01 3 views
-1

메인 클래스가 아닌 내 게임 클래스에서 터치 이벤트를 구현했습니다.iOS에서 starling - 터치 이벤트가 작동하지 않습니다.

모바일 에뮬레이터에서 FlashDevelop로 테스트 할 때 핸들러가 작동합니다.

iOS 7을 실행하는 iPad에서 테스트 할 때 실행되지 않습니다.

나는 아무것도 못 찾았나요?

나는 Main.as의 시작 부분이 있습니다

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

    Starling.multitouchEnabled = true; 

미르자

당신은 당신의 문제가 지금과 같이 당신이 이벤트 핸들러 내에서 수행 하려는지 우리에게 보여줄 필요가
+0

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

+0

이제 문제는 이벤트가 시작되지만 내부의 물건은 수행되지 않지만 에뮬레이터에서 작동한다는 것입니다. – mirzahat

+0

무대 대신이 기능을 사용해 보셨습니까? var touch : Touch = e.getTouch (this, TouchPhase.ENDED); – mika

답변

0

그 코드.

당신이하는 일은 터치 이벤트에 대한 포인터를 만드는 것입니다. 내가 Box2D의 몸에 힘을 적용하고있어

+0

Biy2d 본문에 힘을 적용하고 있습니다. – mirzahat

+0

코드를 내 자신의 대답으로 – mirzahat

0

, 나는 그것이에 FlashDevelop 에뮬레이터에서 일하고 있어요,하지만 iOS 기기에서 작동하지 않습니다 : 내가 TI는 청취자, 단계로 단계를 추가하여 작업 가지고

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



      } 
+1

이 정보로 질문을 업데이트하고 답변을 추가하지 마십시오. –

관련 문제