Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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_Processing_P5.js - Fatal编程技术网

Javascript 我有一颗流星一颗随机落下的流星我想做更多

Javascript 我有一颗流星一颗随机落下的流星我想做更多,javascript,processing,p5.js,Javascript,Processing,P5.js,我有一颗流星,当只有一颗流星时,碰撞就起作用,但当我添加更多流星时,碰撞就停止了,这就阻止了生命值的减少 我试图在网上搜索,但没有得到任何好的答案。我还问了一些表格,他们说我必须创建一个地方来存放所有的流星,然后检查是否有碰撞 设x=200; 设x1=258; 分数=0; 让健康=5; 让流星=[]; 设ecllipsemetors=[]; 让流星; 让ECLIPSemeter; 让宇宙飞船飞; 让流星来吧; 设水平=5; 函数Meteor(){ 此.x=随机(0600); y=随机(-200,

我有一颗流星,当只有一颗流星时,碰撞就起作用,但当我添加更多流星时,碰撞就停止了,这就阻止了生命值的减少

我试图在网上搜索,但没有得到任何好的答案。我还问了一些表格,他们说我必须创建一个地方来存放所有的流星,然后检查是否有碰撞

设x=200;
设x1=258;
分数=0;
让健康=5;
让流星=[];
设ecllipsemetors=[];
让流星;
让ECLIPSemeter;
让宇宙飞船飞;
让流星来吧;
设水平=5;
函数Meteor(){
此.x=随机(0600);
y=随机(-200,-190);
该速度=随机(3,10);
this.fall=函数(){
this.y=this.y+this.speed;
如果(此.y>高度){
y=随机(-200,-100);
该速度=随机(3,7);
}
};
this.show=function(){image(meteorimg,this.x,this.y,40,40)};
}
函数模型(){
此.x=随机(0600);
y=随机(-200,-190);
该速度=随机(3,10);
this.fall=函数(){
this.y=this.y+this.speed;
如果(此.y>高度){
y=随机(-200,-100);
该速度=随机(3,7);
}
};
this.show=function(){椭圆(this.x,this.y,20,20)};
}
功能级别(){
如果(分数=10){
级别=25;
}
}
函数设置(){
createCanvas(600400);
定时器=createP(“”);
for(设i=0;i-46){
x-=5;
}
如果(键向下(右箭头)&&x<508){
x+=5;
}
如果(键向下(左箭头)和&x1>9){
x1-=5;
}
if(键向下(右箭头)和&x1<565){
x1+=5;
}
矩形(x1,335,20,30)
图片(太空飞船IMG,x,260120)
为了(让流星中的流星){
流星落下;
流星秀;
}
文本大小(20);
文本(“健康:+健康,10,20);
填充(255);
文本大小(20);
文本(“分数:”+分数,10,40);
填充(255);
}

我期待着流星与宇宙飞船之间的碰撞,就像它只与一颗流星碰撞一样。

您不必检查流星与
流星的碰撞,而必须在阵列
流星
中循环检查流星与流星的碰撞:

函数绘图(){
// [...]
对于(设i=0;i高度){
y=随机(-200,-100);
this.x=random(0600);//cx-cr&&cx+cr>rx&&ry+rh>cy-cr&&cy+cr>ry;
}
函数Meteor(){
此.x=随机(40560);
y=随机(-200,-190);
该速度=随机(3,10);
this.fall=函数(){
this.y=this.y+this.speed;
如果(此.y>高度){
y=随机(-200,-100);
此.x=随机(40560);
该速度=随机(3,7);
}
};
this.show=函数(){
填充(128、64、64)
椭圆(这个.x,这个.y,40,40)
//图像(meteorimg,this.x,this.y,40,40)
};
}
函数模型(){
此.x=随机(0600);
y=随机(-200,-190);
该速度=随机(3,10);
/*
this.fall=函数(){
this.y=this.y+this.speed;
如果(此.y>高度){
y=随机(-200,-100);
//此.x=随机(40560);
该速度=随机(3,7);
}
};
*/
this.show=function(){椭圆(this.x,this.y,20,20)};
}
功能级别(){
如果(分数=10){
级别=25;
}
}
函数设置(){
createCanvas(600400);
//定时器=createP(“”);
for(设i=0;i=9){
x1-=5;
}
if(键向下(右箭头)和&x1<565){
x1+=5;
}
填充(255,255,0)
矩形(x1,335,20,30)
//图片(太空飞船IMG,x,260120)
为了(让流星中的流星){
流星落下;
流星秀;
}
填充(255);
文本大小(20);
文本(“健康:+健康,10,20);
文本大小(20);
文本(“分数:”+分数,10,40);
}

你需要对每一颗流星进行命中检测。因此,在hit中,而不是meteor.x和meteor,y中,我会对meteors.x和meteors.y进行检测。请看Rabbid76的答案碰撞仍然不起作用。火箭正在下落,但没有任何结果happens@Lime你在碰撞矩形中做什么?你在那里使用meteor而不是输入参数?在collide中,我使用Meteor,你是一位非常好的老师。我刚刚提出了一个新问题,你可以看看吗。