1
그래서 한 시간 동안 붙어 버린 상황에 직면 해 있습니다.Java의 게임 캔버스에서 별도의 이미지를 추가하는 방법
여기 내 상황이 있습니다. "Life :"라는 게임 이미지를 NES 용 젤다의이 게임과 매우 흡사하게 추가하고 싶습니다.
문제는 다음과 같습니다 내 코드는 여전히 내 게임 캔버스를 보여줍니다.
public class Game extends Canvas {
private Game(){
JFrame container = new JFrame("Arcade Shooter Clone");
panel = (JPanel)container.getContentPane();
panel.setLayout(new BorderLayout());
panel.add(this,BorderLayout.CENTER);
ShipLifeTitle shipLifeTitle = new ShipLifeTitle();
panel.add(shipLifeTitle,BorderLayout.SOUTH);
}
}
public class ShipLifeTitle extends Sprite {
private Image image;
public ShipLifeTitle()
{
try
{
image = ImageIO.read(new File("src/Ship/shipLifeTitle.PNG"));
}
catch(IOException e)
{
e.printStackTrace();
}
}
@Override
public void draw(Graphics g) {
// TODO Auto-generated method stub
g.drawImage(image, 200, 200, null);
}
}
public class Sprite extends Component implements GameComponent {
public Vector2D position;
public Vector2D velocity;
@Override
public void update(long milliseconds) {
// TODO Auto-generated method stub
}
@Override
public void draw(Graphics g) {
// TODO Auto-generated method stub
}
}
내가했던이 사용자의 피드백을 기반으로하지만, 내가 이런 식으로 코딩했다 그 대신 구문을 허용하지 않았다 : public Dimension getPreferredSize() { 새로운 차원을 반환합니다 (image.getWidth (null), image.getHeight (null)); } 이제 남쪽 영역에는 회색 영역이 있지만 여전히 이미지가 표시되지 않습니다. My ShipLifeTitle은 패널이 아닌 스프라이트입니다. – Nicholas
죄송합니다, 제 잘못,'BufferedImages'를 사용합니다. – MadProgrammer
'스프라이트 '가'paintComponent' 메소드에서'draw'를 호출한다고 가정하면, 코드의 일부만 남았습니다 ... – MadProgrammer