因此,正如标题所述,我正在尝试为编程最终项目制作游戏。一切都有效,除了一个关键部分,轻轨。我有一个轻轨的课程,它从不同的班级中获取玩家的x
和y
位置,并在玩家位置绘制蓝色方块。当我运行并编译程序时,一旦玩家移动,就会在玩家的起始位置绘制一个正方形。但是,在球员第一次移动后,方块不会再次抽出。
这是我的小道课
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class pTrail {
player p;
int x;
int y;
int c;
Rectangle pT;
public pTrail() {
p = new player();
x = p.getX();
y = p.getY();
pT = new Rectangle (x,y);
}
public Rectangle getRect() {
return pT;
}
public void draw(Graphics2D g, Graphics2D g2) {
g2.setColor(Color.blue);
g2.fillRect(x,y,10,10);
}
}
int c
以后是一个变量来改变路径的颜色。
如果您需要更多代码,请评论您需要查看的内容,驱动程序,播放器等。
答案 0 :(得分:1)
您需要将播放器作为pTrail()
中的参数。现在你正在pTrail()
内创建一个新玩家,但它需要像pTrail(player p)
一样。你的矩形跟随你的玩家的原因是因为它们总是在玩家的默认位置创建。如果您将玩家作为参数传递,则路径实际上将具有玩家的位置。
答案 1 :(得分:0)
缺少代码,但这可能会有所帮助: 因为你说一切正常,我相信当你的玩家移动你更新x或\和y(如果没有,那就去做)。 现在你需要使用正确的x和y值再次运行draw方法(在播放器的任何移动中依此类推)。