簡體   English   中英

從Java獲取不正確的子圖像

[英]Getting incorrect subimage from java

在我的游戲中,我試圖制作一個動畫的行走序列,所以我試圖確保圖像將根據其所在的動畫幀而變化。 當按下空格鍵時,圖像會發生變化,但是不是從Spritesheet中獲取下一張圖像,而是獲得下一張圖像和上一張圖像。 我在下面有問題的屏幕截圖以及代碼。


在按下空格之前

之前
按下空間后

后


private static BufferedImage image;
private static BufferedImage[] cropped = new BufferedImage[15]; 
private static byte frame = 0;

public Player(){
    try {
        image = ImageIO.read(new File("DownWalking.png"));

    } catch (IOException ex) {
        ex.printStackTrace();
    }


}

public void drawPlayer(int x,int y,Graphics2D g2){
    if (frame == 0){
        cropped[0] = image.getSubimage(2, 1, 23, 43);   
    }
    if (frame == 1){
        cropped[1] = image.getSubimage(34, 1, 54, 45);
    }

g2.drawImage(cropped[frame],x * Tile.tileSize, y * Tile.tileSize, cropped[frame].getWidth(), cropped[frame].getHeight(), null);

getSubImage的方法簽名為:

getSubimage(int x, int y, int w, int h)

您有getSubimage(x1,y1,x2,y2)導致圖像獲得2個圖塊,而不是1個。

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM