【发布时间】:2015-07-18 23:09:28
【问题描述】:
在我的游戏中,我有一个玩家、敌人和敌人掉落的升级。
首先渲染升级,然后是玩家,然后是敌人,但我希望我的玩家在 Y 值大于玩家的物体后面,我希望我的玩家在 Y 值较小的物体前面比播放器。
好的,好的。这是我的渲染类。
package main;
import java.awt.Graphics;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Render extends JPanel {
public Game game;
public Render(Game game) {
this.game = game;
}
protected void paintComponent(Graphics g) {
game.world.render(g);
game.tile.render(g);
game.upgrade.render(g);
game.player.render(g);
game.bullet.render(g);
game.gun.render(g);
game.sword.render(g);
game.soldier.render(g);
game.blood.render(g);
game.hud.render(g);
}
}
我不知道该怎么做。如果有人能给我一些示例代码,那就太棒了。
同样,我想做的是在 Y 值较小的对象之前渲染 Y 值较大的对象。
我也没有在 Stack Overflow 上找到任何我能理解的内容。
谢谢。
【问题讨论】:
-
如果您能告诉我们问题的重要细节并显示相关代码,您的问题会更好。这些详细信息包括您正在使用哪个 GUI 库、您当前如何渲染您的项目。如果是 Swing,那么渲染顺序非常重要,将决定图像的 z 顺序。
-
您绘制的第一个对象将位于底部。第二个将在顶部。因此,根据需要构建您的绘画逻辑。