1

ちょっと私の質問は、Java のゲーム Pong でボール オブジェクトに画像を配置する方法です。以下は、抽象クラス Shape を拡張する Ball というオブジェクトの現在のコードです。

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

コメントであなたの質問を読みました。透過性を使用している場合は、Portable Network Graphics (PNG) 画像を使用します。

これが役立つ場合は、Java で新しい色を作成でき、画像をインポートする必要はありません。画面に少し透明な青いボールを描きたい場合は、これを行います。

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

新しい Color を作成し、それに変数 (int r、int g、int b、int alpha) を渡しました。したがって、最初の整数は赤の量で、2 番目は緑、3 番目は青です。ただし、アルファ変数は色の不透明度 (透明度) です。次に、「楕円」をペイントしますが、対角線の長さが同じであるため、円になります。

于 2013-04-02T18:36:08.457 に答える