【问题标题】:displaying an image in swing在摇摆中显示图像
【发布时间】:2011-01-02 19:20:54
【问题描述】:

我正在开发一款贪吃蛇游戏。我打算显示一张图片,而不是显示移动的矩形,并希望通过击键来移动它。

但我不能用 Jlabel 做到这一点。因为标签的位置是静态的。

有什么方法可以将它们仅显示为图像??

谢谢。

【问题讨论】:

    标签: java image swing


    【解决方案1】:

    您不希望使用 sprite 组件来编写游戏!

    相反,您所做的是创建一个自定义控件(通常从 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 的值以移动您的精灵。

    【讨论】:

    • 这个例子使用的是什么版本的Java? ImageIO.read 似乎没有在 Java 6 中只接受字符串的实现。你的意思是接受 java.io.File 参数的变体吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多