我正在开发一款Snake游戏。我没有显示移动的矩形,而是计划显示一张图片,并希望通过击键来移动它。
但我无法用Jlabel做到这一点。因为标签是静态的。
有没有办法只将它们显示为图像?
感谢名单。
答案 0 :(得分:4)
你不想为精灵使用swing组件来编写游戏!
相反,你要做的是创建一个自定义控件(通常从JPanel或Canvas派生)元素,然后覆盖paint()函数。
在绘画功能中,您可以像这样绘制图像:
class MyClass extends JPanel{
int x,y;
BufferedImage myImage = ImageIO.read("mySprite.png");
@Override
public void paint(Graphics g){
g.drawImage(myImage,x,y,this);
}
}
然后在你的代码中你改变x和y的值来移动你的精灵。