Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 贪吃蛇游戏代码可以';t进入移动功能_Javascript_Html - Fatal编程技术网

Javascript 贪吃蛇游戏代码可以';t进入移动功能

Javascript 贪吃蛇游戏代码可以';t进入移动功能,javascript,html,Javascript,Html,var zbImg=newimage(); zbImg.src='./image/zuobian.jpg'; var bgImg=新图像(); bgImg.src='。/image/beijing.jpg'; var smImg=新图像(); smImg.src='./image/shangmian.png'; var stImg=新图像(); stImg.src='./image/shenti.png'; var xmImg=新图像(); xmImg.src='./image/xiamian.

var zbImg=newimage();
zbImg.src='./image/zuobian.jpg';
var bgImg=新图像();
bgImg.src='。/image/beijing.jpg';
var smImg=新图像();
smImg.src='./image/shangmian.png';
var stImg=新图像();
stImg.src='./image/shenti.png';
var xmImg=新图像();
xmImg.src='./image/xiamian.png';
var ybImg=新图像();
ybImg.src='./image/youbian.png';
函数Snake(){
this.cav=document.getElementById(“cav”);
this.canvas=this.cav.getContext('2d');
这一步=25;
这个宽度=500;
这个高度=500;
this.stepW=this.width/this.step;
this.stepH=this.height/this.step;
this.snakeArr=[];//蛇身
this.foodar=[];//储存食物
//1、绘制游戏元素
this.draw=函数(){
//绘画背景
this.canvas.drawImage(bgImg,0,0,this.width,this.height);
//画蛇
//画出来
this.drawFood=函数(){
如果(this.foodar.length!=0){
this.canvas.drawImage(stImg,this.foodar[0].x*this.step,this.foodar[0].y*this.step,this.step,this.step);
返回;
}
var x=Math.floor(Math.random()*this.stepW);
var y=Math.floor(Math.random()*this.stepH);
for(var i=0;i

唐池社
#骑士{
背景:红色;
}
window.onload=函数(){
var snake=新snake();
snake.draw();
snake.move();
}

乍一看,这里发生了几件事。首先,您应该将javascript移动到另一个文件并将其加载到页面中。但是,即使您没有这样做,看起来javascript只是粘贴在文档的末尾,而不在“”标记中。另外,为什么页面被“html1”标记包围?这应该是“html”

您有任何控制台错误吗?您的Snake类定义在哪里?我建议在
snake.drew()上设置一个断点行,并确保
snake
变量是您所期望的。如果是,那么我会尝试调用你的
.move
函数,逐行遍历代码,直到你得到一条好的错误消息或看到哪里出了问题。我没有发现控制台错误,但我的编译器是sublime试用版,它没有断点,你有一些好的javascript编译器可以推荐给我谢谢你使用你的浏览器开发工具(通常F12会启动它们)。您可以在那里设置断点。我还建议使用Visual Studio代码或WebStorm作为IDE。事实上,我的html和javascript已经分离到不同的文件,我使用tangchishe.html包含第一段代码,使用index.js包含第二段代码。我将html1更改为html。但它仍然不是打印7Ok,谢谢澄清。在我看来,只有在加载窗口时才调用draw()函数。需要定期调用它来更新画布,可能是使用setInterval?如果事件未触发,请尝试将其从document.onkeydown更改为window.onkeydown。据我所知,这是一个焦点问题。