1

嘿,我的问题是如何在 Java 的 Pong 游戏中将图片放在球对象上?下面是我当前对一个名为 Ball 的对象的代码,它扩展了一个抽象类 Shape。

package Software;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Ball extends Shape implements ActionListener {
    public Image tennisBall;

    public Ball() {
        try {
            tennisBall = ImageIO.read(new File("tennisBall.jpg"));
        } catch (IOException ex) {
            // handle exception...
        }
        setHeight(12);
        setWidth(12);
        speed = 5;
    }

    @Override
    public void draw(Graphics g) {
        // g.fillOval(getPositionX(), getPositionY(), (int)getWidth(), (int)getHeight());
        g.drawImage(tennisBall, getPositionX(), getPositionY(), (int)getWidth(), (int)getHeight(), null);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
    }
}
4

1 回答 1

0

我在评论中读到了你的问题。如果您使用透明度,我会使用便携式网络图形 (PNG) 图像。

如果这很有用,您可以在 Java 中创建新颜色,而不必导入图片。如果你想在屏幕上画一个稍微透明的蓝色球,你可以这样做。

g.setColor(new Color(0, 0, 255, 175);
g.fillOval(xPosition, yPosition, diameter, diameter);

我创建了一个新颜色并将变量(int r、int g、int b、int alpha)传递给它。所以第一个整数是红色的数量,第二个是绿色,第三个是蓝色。但是 alpha 变量是颜色的不透明度(它的透明度)。然后你画出“椭圆”,但它的对角线长度相同,所以它是一个圆形。

于 2013-04-02T18:36:08.457 回答