嘿,我的问题是我如何在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) {
}
}
答案 0 :(得分:0)
我在评论中读到了你的问题。如果您使用透明度,我会使用便携式网络图形(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)。所以第一个整数是红色,第二个是绿色和第三个蓝色。但是alpha变量是颜色的不透明度(它的透明度)。然后你绘制“椭圆形”,但它有相同的对角线长度,所以它出来一个圆圈。