【发布时间】:2018-04-11 16:14:22
【问题描述】:
我确信这很简单,但我尝试在这个网站上检查谷歌和其他人的问题,但无法理解。提前感谢您的帮助。
我正在制作一个简单的游戏。我正在尝试设置碰撞检测,但无法使其正常工作。我想要做的是设置一个布尔值来检测渔船(玩家1)是否被鲨鱼击中(如果是这样,那么就失去了生命)。
对于鲨鱼类,我为鲨鱼的颜色设置了一个名为 SHARK1 的变量。然后,我为渔船设置了一个 for 循环,以检查是否曾经检测到鲨鱼的颜色与船发生碰撞。但是,鲨鱼的颜色是在 Shark 类中定义的,我想知道如何在 Fishing Boat 类中使用该变量。代码如下。
//shark class
class Shark
{
int x, y, dx, dy;
int w=37;
int h=50;
public PImage sharkPic;
public final color sharkColor;
Shark(int x, int y, int dx, int dy)
{
this.x=x;
this.y=y;
this.dx=dx;
this.dy=dy;
sharkPic=loadImage("images/shark.png");
sharkPic.resize(w,h);
this.sharkColor=sharkPic.get(20,20);
}
}
//fishing boat class
class Fisherman
{
int x;
int y;
Shark shark;
Fisherman(int x, int y, Shark shark)
{
this.x=x;
this.y=y;
this.shark=shark;
}
void render()
{
fill(255,255,0);
rect(x,y, 80,20, 7);
rect(x+40,y-50, 10,50);
fill(255,0,0);
triangle(x+25,y-40, x+40,y-50, x+40,y-30);
}
boolean sharkHitBoat()
{
for (int i=y; i<(y+20); i++)
{
color detectedColour;
detectedColour = get(i, y+20);
if (detectedColour==shark.sharkColor) {
return true;
}
}
return false;
}
} //class
然后我会在主类中使用布尔值,这样如果检测到碰撞,玩家就会失去生命,当失去 3 条生命时,游戏结束。可能有一种更简单的方法来实现这一点,但我想知道这是否可能以我的方式进行(如果不是,那么建议将不胜感激)。如果您需要查看其他代码以帮助我知道,我可以提供
谢谢。
【问题讨论】:
-
您好,欢迎来到 StackOverflow,您可以在该网站上获得有关代码特定问题的帮助。从tour 开始,suitable for asking 是哪些问题,not 是哪些问题。您可能还想查看Minimal, Complete and Verifiable Examples。
-
将所有鲨鱼传递给每艘船并循环检查鲨鱼列表是否与您的船相撞可能更有意义。目前你什么都没通过,鲨鱼成为你渔夫班的一员也没有多大意义
标签: java variables processing