2013-05-10 3 views
2

나는 재미있는 게임을 개발하고있다.모바일 브라우저의 멀티 터치?

하지만 모바일 브라우저에서도 제대로 작동하도록 노력하고 있습니다. 하지만 한 번에 여러 개의 버튼을 눌러도 작동하지 않는 것처럼 보입니다.

나는이 게임을 통해 좌우로 이동하고 점프 할 수 있습니다.

touch buttons in game http://www.userhome.org/mobilegame.png

내 코드는 다음과 같습니다 (아래 그림 참조)

function inittouchcontrols() { 

$("body").append("<div id='btn_moveleft' keyid='37'></div><div id='btn_moveright' keyid='39'></div><div id='btn_jump' keyid='38'></div>"); 

    $('body').on('taphold', function (e) { 
     e.preventDefault(); 
    }); 

    $('body').on('tap', function (e) { 
     e.preventDefault(); 
    }); 

    $('body').on('vmouseover', function (e) { 

     if($(e.target).attr("keyid") != undefined) 
      $(e.target).css("background-color", "red"); 

     window["keyDown" + $(e.target).attr("keyid")](); 

     c_key_x = c_key_left + c_key_right; 
     c_key_y = c_key_up + c_key_down; 

     $("#pushedkeys").html("keys: " + c_key_x + " " + c_key_y); 

    }); 

    $('body').on('vmouseout', function (e) { 

     if ($(e.target).attr("keyid") != undefined) 
      $(e.target).css("background-color", "aqua"); 

     window["keyUp" + $(e.target).attr("keyid")](); 

     c_key_x = c_key_left + c_key_right; 
     c_key_y = c_key_up + c_key_down; 


     $("#pushedkeys").html("keys: " + c_key_x + " " + c_key_y); 

    }); 

} 

내가 아쿠아 착색 된 div에 프레스를 감지하는 jQuery를 모바일 vmouseovervmouseout를 사용합니다. 그러나 한 번에 하나의 버튼 만 누를 것입니다.

제 질문은 :
코드에 멀티 터치를 구현할 수있는 방법이 있습니까?

답변

2

당신은 터치 이벤트 API를 touchstart,하는 TouchMove 및 touchend (https://developer.mozilla.org/en-US/docs/Web/Guide/Touch_events)

각 의지에 연결된 다른 것들 사이에 접촉 수집,의 이벤트 객체를 사용할 수 있습니다. 주의 할

한 가지 ... 당신이 그 (것)들에게

$('#ele').on('touchstart', function(e) { 
    var touches = e.originalEvent.touches; 
}); 
+0

와우 들으 액세스 할 수 event.originalEvent를 사용해야 할 수 있도록 터치 속성이 일반 jQuery를 이벤트 객체에 포함되지 않은 것입니다이 정확히처럼 보이는 내가 필요한 것 :-) – JohnMalkowich

관련 문제