Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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画布游戏_Javascript_Html_Canvas - Fatal编程技术网

Javascript画布游戏

Javascript画布游戏,javascript,html,canvas,Javascript,Html,Canvas,我的画布游戏有问题。我试着让它跳起来,但我遇到了一些麻烦。一切正常,但如果我从底部触摸一个物体,它会将我抛向该物体 问题可能出在LastColison上。有人能帮我吗 功能块(x,y){ 变量大小=80 GameObject.call(这个,x*size,y*size,size) this.img=document.getElementById(“块”) this.class=“block” } //Dedi vlastnosti z游戏对象 Block.prototype=Object.cre

我的画布游戏有问题。我试着让它跳起来,但我遇到了一些麻烦。一切正常,但如果我从底部触摸一个物体,它会将我抛向该物体

问题可能出在
LastColison
上。有人能帮我吗

功能块(x,y){
变量大小=80
GameObject.call(这个,x*size,y*size,size)
this.img=document.getElementById(“块”)
this.class=“block”
}
//Dedi vlastnosti z游戏对象
Block.prototype=Object.create(GameObject.prototype)
Block.prototype.draw=函数(){
ctx.fillStyle=“绿色”
drawImage(this.img,this.x,this.y,this.size,this.size)
}
函数播放器(x,y){
变量大小=120
this.dx=Math.random()*50-25
this.dy=Math.random()*50-25
GameObject.call(这个,x*size,y*size,size)
//this.player=document.getElementById(“播放器”)
this.img=[document.getElementById(“player”)、document.getElementById(“ball_r”)、document.getElementById(“ball_l”)、document.getElementById(“ball_j”)]
this.player=this.img[0]
this.class=“player”
}
//Dedi vlastnosti z游戏对象
Player.prototype=Object.create(GameObject.prototype)
Player.prototype.move=函数(){
var x=这个.x
var y=这个.y
//ak dam this.y=y-5 mžem pohnuťaj so stlačenou sipkou dole
this.player=this.img[0]
//波森
如果(键[37])
{
如果(级别==0){
x-=4;
}
如果(级别==1){
x-=8;
}
this.player=this.img[2];
这个。y=y;
}
如果(键[39])
{
如果(级别==0){
x+=4;
}
如果(级别==1){
x+=8;
}
this.player=this.img[1];
}
如果(键[38])
{this.player=this.img[3],this.dy=-10;}
//如果mozem ouzzivat naraz viac tlacidiel takze upravit potom
//测试novej pozicie
var冲突=false
(我在现场){
var obj=场景[i]
如果(obj.class==“cloud”){continue;}
如果(obj.class==“梯形图”){continue;}
如果(obj.class==“接触”){continue;}
如果(obj.class==“dirt”){this.x=x;this.y=y}
如果(obj.class==“block”){this.x=x;this.y=y}
如果(obj.class==“敌人”){this.x=x;this.y=y}

var test=x+30>=obj.x+obj.size | | x+this.size-40=obj.y+obj.size/*kolizia up*/| | y+40+this.size=200&&score我现在对canvas不太了解,但我注意到你没有任何分号来结束你的陈述

例如:

var x = this.x;
etc.
我注意到的另一件事…大于或等于以及小于或等于200的分数检查

if (score >= 200 && score <= 200)
{
    ...
}

if(score>=200&&score我现在对canvas不太了解,但我注意到您没有任何分号来结束您的语句

例如:

var x = this.x;
etc.
我注意到的另一件事…大于或等于以及小于或等于200的分数检查

if (score >= 200 && score <= 200)
{
    ...
}

if(score>=200&&score我目前无法访问您提供的GIF。但从我所能收集到的信息来看,这些行是您的问题:

if (!collision) {
  this.x = x
  this.y = y + this.dy  
  this.dy += 0.3;
}    

**else {

    if (obj.class == this.LastColl) {
        this.dy = 0;
        this.y = obj.y -160
    }
此行-This.y=obj.y-160 看起来你在告诉它向上移动画布上的-160像素

这回答了你的问题吗


还有一个注意事项-我建议在每条语句的末尾使用分号。有时不要使用分号,有时不要使用分号-这会给您带来问题,这是一种不好的做法:)

我目前无法访问您提供的GIF。但从我收集的信息来看,这些行是您的问题:

if (!collision) {
  this.x = x
  this.y = y + this.dy  
  this.dy += 0.3;
}    

**else {

    if (obj.class == this.LastColl) {
        this.dy = 0;
        this.y = obj.y -160
    }
此行-This.y=obj.y-160 看起来你在告诉它向上移动画布上的-160像素

这回答了你的问题吗


还有一个注意事项-我建议在每条语句的末尾使用分号。有时不要使用分号,有时也不要使用分号-这会给您带来问题,是一种不好的做法:)

分号在JS中是可选的;很少有不插入分号会引起问题的情况,但我在这里没有看到任何分号。实际上,最好做可选的事情,只是为了确保……即使是在Swift(IOS)中你可以省略它,但你仍然应该添加它们。有没有办法测试一下,看看游戏中的错误?@DUUUDE123我已经无分号一年半了,很少出现问题。似乎同意我的看法。分号在JS中是可选的;有一些罕见的情况下,不插入它们会导致问题,但我不是在这里看到他们中的任何一个。实际上,做可选的事情总是更好的,只是为了确保…即使在Swift(IOS)中你可以省去它,但你还是应该把它们加进去。有没有办法测试一下,看看游戏中的错误?@DUUUDE123我已经有一年半没有分号了,很少出现问题。似乎同意我的观点。除非你提供更多关于你所做的事情的信息,否则你不可能得到比风格挑剔更多的东西你不太可能得到比风格上的挑剔更多的东西,除非你提供更多关于你尝试过什么以及到底出了什么问题的信息。