Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Touchstart?僵尸游戏_Javascript_Html_Iphone_Touch - Fatal编程技术网

Javascript Touchstart?僵尸游戏

Javascript Touchstart?僵尸游戏,javascript,html,iphone,touch,Javascript,Html,Iphone,Touch,我正在做一个僵尸游戏。您可以在www.designedbychristian.com/u-vs-them上查看 我有一个可以点击的div。但在我的iphone5s和Ps-vita上测试时,可点击的div落后了 我决定使用原始javascript,避免导入jquery mobile 我把这个写进了我的代码 <script> localStorage.setItem('facing', 'right') function touchEvent

我正在做一个僵尸游戏。您可以在www.designedbychristian.com/u-vs-them上查看

我有一个可以点击的div。但在我的iphone5s和Ps-vita上测试时,可点击的div落后了

我决定使用原始javascript,避免导入jquery mobile

我把这个写进了我的代码

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

setItem('facing','right')
函数touchEvents(){
document.getElementById('shoot')。addEventListener(“toStart”,shoot,false);
document.getElementById('left')。addEventListener(“touchstart”,left,false);
document.getElementById('right')。addEventListener(“touchstart”,right,false);
功能射击(e){
e、 预防默认值()
$('#player')。附加('');
if(localStorage.getItem('facing')==“right”){
$('.bullet')。动画({“左”:“1500px”},700,“线性”,函数(){
$(this.remove();
});
}else if((localStorage.getItem('facing')=“left”)){
$('.bullet')。动画({“右”:“1500px”},700,“线性”,函数(){
$(this.remove();
});
};
};
函数左(){
var p=$(“玩家”);
var poff=p.offset();
var pleft=poff.left;
如果(pleft>103){
var元素=document.getElementById(“播放器”);
element.style.left=parseInt(element.style.left)-5+'px';
var bg=document.getElementById(“bg”);
bg.style.left=parseInt(bg.style.left)+5+'px';
setItem(“面向”、“左”)
}else{return false}
}
//右函数
功能权限(){
var p=$(“玩家”);
var poff=p.offset();
var pleft=poff.left;
如果(pleft<962){
var元素=document.getElementById(“播放器”);
element.style.left=parseInt(element.style.left)+5+'px';
var bg=document.getElementById(“bg”);
var zombz=document.getElementById(“僵尸”);
bg.style.left=parseInt(bg.style.left)-5+'px';
setItem(“正面”、“右侧”)
}else{return false}
}
};
window.onload=触摸事件;
现在,它可以在我的windows 8触摸屏笔记本电脑上使用chrome,使用我的触摸屏而不是鼠标。(未在ie或ff中测试)

它不适用于任何其他触摸屏(iphone、ipad、ps vita)。 我不知道为什么。我一整天都在想办法弄清楚

你可以通过上面的url进一步查看我的游戏。如果在iphone上观看,您必须将其保存到主屏幕,并将方向更改为横向

$('#player')
是的jQuery快捷方式

document.getElementById("player");

我会检查您是否得到了正确的元素。

我在其中添加什么似乎并不重要。即使警报也不会显示如果警报未显示,则表示脚本未到达该行代码。是否可以尝试移动函数调用,如
document.getElementById('shoot').addEventListener(“toStart”,shoot,false)在函数定义下面?还有,你有没有检查控制台有没有错误?我有。由于左撇子没有定义,它扔了很多东西。我最终使用jquery mobile并使其正常工作。我只是不明白为什么它在windows 8上运行得这么好,而在iPhone上却不工作。你可能想用一个跨平台的框架来开发。嗯,好像很有趣。非常感谢。