gpt4 book ai didi

java - 处理-碰撞后如何去除图像?

转载 作者:行者123 更新时间:2023-12-02 13:01:06 25 4
gpt4 key购买 nike

我是处理新手,我正在制作一个游戏,其中 Sprite 来回移动,当它与墙壁碰撞时(xvalue = 10),它将失去生命。我在顶角有 3 颗心,当 Sprite 与墙壁碰撞时,我希望它移除一颗心,这样它只会显示你还剩下多少生命。如何删除图像(心脏)?

这是一些代码:

void loadStuff() {
image(panda, pandaX, pandaY, 80, 112);
image(heart1, 1250, 20, 100, 100);
image(heart2, 1350, 20, 100, 100);
image(heart3, 1450, 20, 100, 100);
if (pandaX<=10) {
//heart1=null;

//for (int l=0; l<=life; l++) {
// xCoord = xCoord - 100;
// yCoord = yCoord - 100;
// image(heart1, 0,0,0,0);
//}
}
}

void keyPressed() {
if (key==CODED) {
if (keyCode==LEFT) {
pandaX = pandaX-20;
}
if (keyCode==RIGHT) {
pandaX = pandaX+20;
}
if (pandaX<=10) {
pandaX=10;
//lives.remove(0);
//image(heart1,1500, 500); //makes another heart
//heart1.clear();
//heart1 = null;
}
if (pandaX>=1500) {
pandaX=1500;
}
}

}

我尝试了一些方法来使心形图像消失 - 但没有成功。我尝试创建一个 for 循环,将所有坐标设置为 0,我尝试从我在程序最顶部创建的数组中删除第一个图像,然后我尝试清除它 - 所有这些都不起作用。 p>

任何关于当 Sprite 碰撞到墙壁(x = 10)时如何移除心形的输入将不胜感激。谢谢!

最佳答案

有很多方法可以做到这一点。需要查看更多代码。

但一般来说,您想要在处理中绘制的所有内容都会进入无限期运行的draw()方法。在该方法开始时,最好先清理 Canvas ,然后简单地绘制所有内容。您可以选择不画心形。

这是一个非常简单的例子。该应用程序在屏幕上绘制图像。按任意键后,不再绘制图像。

PImage img;
boolean canDraw = true;


void setup() { // setup() runs once
size(800, 600);
frameRate(30);
loadStuff();
}

void loadStuff() {
img = loadImage("myImage.png");
}

void draw() {

background(204); // clears the screen
if(canDraw) {
image(img, 0, 0);
}
}

void keyPressed() {
canDraw = false;
}

关于java - 处理-碰撞后如何去除图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44288606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com