我正在尝试用java制作一个蛇游戏,但我想做的事情不是一个普通的蛇游戏。我想做一个蛇游戏,蛇(玩家)可以去各个方向(比如在slither.io游戏中)。 而我正试图从圈子里制作一条蛇。
我正在尝试使用Graphics2D
,我成功画了一个圆圈。
但我无法让很多圈子与每个人联系在一起。 (我尝试使用arrayList
)。
同样在古典蛇游戏中,我想在吃食物时让蛇长大。 但是,我需要添加更多圈子,而不是延长它。
我为圆圈编写的代码(脚本名称也是" Circle");
public void drawToScreen(Graphics2D g)
{
g.setColor(GameConstants.BORDER_COLOR);
BasicStroke stroke = new BasicStroke(5);
g.setStroke(stroke);
Ellipse2D border = new Ellipse2D.Double(getX()-getSize()/2, getY()-getSize()/2, getSize(), getSize());
g.draw(border);
g.setColor(getColor());
Ellipse2D shape = new Ellipse2D.Double(getX()-getSize()/2, getY()-getSize()/2, getSize(), getSize());
g.fill(shape);
setBounds(shape.getBounds());
// Here is for the username
g.setColor(Color.BLACK);
g.setFont(new Font("Arial", Font.PLAIN, 14));
int width = g.getFontMetrics().stringWidth(getName());
g.drawString(getName(), (int)(getX()-width/2), (int)(getY()+5));
}
我有另一个脚本(" GamePanel
")我设置了游戏,在该脚本中我称这个代码为函数。
private Circle player;
player = new Circle(GameConstants.START_SIZE, spawnPoint.getX(), spawnPoint.getY(), randomColor(), GameConstants.START_VELOCITY, name);
player.drawToScreen(g2);
g2.translate(viewX, viewY);
答案 0 :(得分:0)
我不知道Java中的“脚本”是什么。
但是这里是游戏的源代码,它们具有非常相似的方面,你可以从中吸取教训。
我让敌人变得聪明,但是你会看到如何在这段代码中做你想要的。