2014-05-04 126 views
0

我正在做一個殭屍遊戲。你可以查看www.designedbychristian.com/u-vs-themJavascript Touchstart?殭屍遊戲

我有可點擊的div工作。但是當測試我的iphone5s和Ps vita時,可點擊的div落後。

我決定使用原始的JavaScript,並避免導入jQuery的手機。

我寫了這爲我的代碼

<script> 
     localStorage.setItem('facing', 'right') 



     function touchEvents() { 

      document.getElementById('shoot').addEventListener("toustart", shoot, false); 
      document.getElementById('left').addEventListener("touchstart", left, false); 
      document.getElementById('right').addEventListener("touchstart", right, false); 
      function shoot(e) { 
       e.preventDefault() 
       $('#player').append('<div id="bullet" class="bullet">'); 
       if (localStorage.getItem('facing') == "right") { 
        $('.bullet').animate({ "left": "1500px" }, 700, "linear", function() { 
         $(this).remove(); 
        }); 
       } else if ((localStorage.getItem('facing') == "left")) { 
        $('.bullet').animate({ "right": "1500px" }, 700, "linear", function() { 
         $(this).remove(); 
        }); 
       }; 
      }; 
      function left() { 
       var p = $("#player"); 
       var poff = p.offset(); 
       var pleft = poff.left; 
       if (pleft > 103) { 
        var element = document.getElementById("player"); 
        element.style.left = parseInt(element.style.left) - 5 + 'px'; 
        var bg = document.getElementById("bg"); 
        bg.style.left = parseInt(bg.style.left) + 5 + 'px'; 
        localStorage.setItem("facing", "left") 
       } else { return false } 
      } 

      //right function 

      function right() { 

       var p = $("#player"); 
       var poff = p.offset(); 
       var pleft = poff.left; 
       if (pleft < 962) { 
        var element = document.getElementById("player"); 
        element.style.left = parseInt(element.style.left) + 5 + 'px'; 
        var bg = document.getElementById("bg"); 
        var zombz = document.getElementById("zombie"); 
        bg.style.left = parseInt(bg.style.left) - 5 + 'px'; 
        localStorage.setItem("facing", "right") 
       } else { return false } 

      } 
     }; 
     window.onload = touchEvents; 
     </script> 

現在這個用我的觸摸屏不是我的鼠標的工作在我的Windows 8觸摸屏筆記本電腦鉻。 (未在ie或ff中測試過)

它不適用於其他任何與觸摸屏(iphone,ipad,ps vita)。 我不知道爲什麼。我一直試圖找出整天

你可以看看我的遊戲進一步與上面的網址。如果在iPhone上觀看您必須將其保存到您的主屏幕,改變方向爲橫向

回答

0
$('#player') 

是一個jQuery快捷方式

document.getElementById("player"); 

我會檢查是否你得到正確的元素。

+0

這似乎並不重要,我在那裏添加。即使警報不會顯示出來 – Christian4423

+0

如果沒有顯示警報,則表示腳本未達到該行代碼。你可以嘗試移動像函數調用一樣的'document.getElementById('shoot')。addEventListener(「toustart」,shoot,false);'在函數定義的下面?另外,你有沒有檢查控制檯的錯誤? – agressen

+0

我有。由於沒有定義,它投擲了很多東西。我結束了使用jQuery的手機,並得到它的工作。我只是不明白爲什麼它在Windows 8和iPhone上運行得很好,它只是不工作。 – Christian4423