Java 蛇类游戏,加工中增加长度
我正在尝试重新创建snake游戏,现在我正在为snake添加一个新的部分,它会与苹果发生碰撞 我试图告诉程序画一个新的矩形,但是x轴稍微移动,每次我的蛇吃苹果时,这个“移动”会慢慢增加。我的蛇从两个部分开始,当我把蛇移向绿色的苹果时,它只移动第二个部分而不是画一个新的部分,我知道我没有告诉我的绘制方法每次蛇吃苹果时都画一个新的矩形,因为我不知道怎么做Java 蛇类游戏,加工中增加长度,java,processing,Java,Processing,我正在尝试重新创建snake游戏,现在我正在为snake添加一个新的部分,它会与苹果发生碰撞 我试图告诉程序画一个新的矩形,但是x轴稍微移动,每次我的蛇吃苹果时,这个“移动”会慢慢增加。我的蛇从两个部分开始,当我把蛇移向绿色的苹果时,它只移动第二个部分而不是画一个新的部分,我知道我没有告诉我的绘制方法每次蛇吃苹果时都画一个新的矩形,因为我不知道怎么做 public void draw(PApplet p) { // clear area p.fill(255, 0, 0);
public void draw(PApplet p) {
// clear area
p.fill(255, 0, 0);
// draw snake head
p.rect(x, y, length, width);
// draw snake body ?
if (upIsDown == true ) {
p.rect(x, y - section, length, width);
} else if(downIsDown == true) {
p.rect(x, y + section, length, width);
} else if(RightIsDown == true) {
p.rect(x - section, y, length, width);
} else if(LeftIsDown == true) {
RightIsDown = false;
p.rect(x + section, y, length, width);
}
}
在mycheckCollision
方法中,节变量增加10
蛇变长了,但我的程序只画蛇的头部和尾部我在代码中添加了注释 您在draw中编码清除整个游戏区域,然后绘制2个矩形。如果您想看到3个rectange,则需要在该方法中调用
p.rect()
3次。如果你想看到10个矩形,你需要调用它10次(所以也许一个循环会更好)。否则,请重新考虑开头对p.fill()
的调用
对于循环,您需要在类似LinkedList的结构中存储每个体段的坐标,以及每个段的坐标,并在draw方法中绘制所有段。由于您似乎对编程不熟悉,您可以从阅读和理解此的其他实现开始,例如:,,可能重复的