【发布时间】:2017-06-07 07:59:58
【问题描述】:
我想让熊猫(用户使用左右箭头键移动)与从屏幕左上角落下的糖果图像发生碰撞。当 2 幅图像碰撞时,屏幕和控制台上会显示“你触摸了糖果”。但是当熊猫和糖果接触时,什么都没有发生。
代码如下:
PImage candy, panda;
int pandaX = 800;
int pandaY = 790;
int candySpeed = 20;
int yDirCandy = 1;
int yPosCandy = 10;
int xPosCandy = 20;
void setup() {
candy = loadImage("goodCandy1.png");
panda = loadImage("panda.png");
}
void loadStuff() {
image(panda, pandaX, pandaY, 80, 112);
text("Lives: " + lives, 1400, 70);
image(candy, xPosCandy, yPosCandy, 187, 121);
yPosCandy = yPosCandy + (candySpeed * yDirCandy);
touchCandy(pandaX, pandaY, yPosCandy, xPosCandy);
}
void keyPressed() {
if (key==CODED) {
if (keyCode==LEFT) {
pandaX = pandaX-20;
}
if (keyCode==RIGHT) {
pandaX = pandaX+20;
}
if (pandaX<=10) {
pandaX=10;
lives = lives -1;
}
if (pandaX>=1500) {
pandaX=1500;
}
}
}
void touchCandy(int xPosCandy, int yPosCandy, int pandaX, int pandaY) {
if (pandaX==xPosCandy && pandaY==yPosCandy ) {
text("YOU TOUCHED THE CANDY!", width/2, height/2);
print("YOU TOUCHED THE CANDY!");
}
}
我尝试过if (pandaX==xPosCandy && pandaY==yPosCandy),但没有成功。我也试过if (pandaX>xPosCandy && pandaY<yPosCandy),但它说你太早接触了糖果。
任何帮助将不胜感激,如果您需要更多代码,请告诉我。谢谢!
【问题讨论】:
标签: java image processing collision