1
我有我認爲是一個非常基本的問題。我正在嘗試使用7個精靈來做一個基本的動畫,其中的6個精靈在一個Sprite []數組中。調整數組中的精靈不工作
現在我現在正在按下按鍵的時候可以正確地進行動畫製作,除了向左轉動以外,還有一些事情可供我以後找出。現在我想調整這些精靈的大小。
它們目前的大小爲32x68。這裏是我的代碼:
jimRect = new Rectangle();
jimRect.height = 96;
jimRect.width = 48;
jimRect.x = 800/2 - jimRect.getWidth();
jimRect.y = 0;
// Create our assets
rock = new Texture(Gdx.files.internal("data/img/rock.png"));
gems = new Texture(Gdx.files.internal("data/img/gems.png"));
jim0 = new Sprite(new Texture(Gdx.files.internal("data/img/jim0.png")));
jim1 = new Sprite(new Texture(Gdx.files.internal("data/img/jim1.png")));
jim2 = new Sprite(new Texture(Gdx.files.internal("data/img/jim2.png")));
jim3 = new Sprite(new Texture(Gdx.files.internal("data/img/jim3.png")));
jim4 = new Sprite(new Texture(Gdx.files.internal("data/img/jim4.png")));
jim5 = new Sprite(new Texture(Gdx.files.internal("data/img/jim5.png")));
jim6 = new Sprite(new Texture(Gdx.files.internal("data/img/jim6.png")));
// Create animations
sprites = new Sprite[] { jim1, jim2, jim3, jim4, jim5, jim6 };
walkFrames = new Animation(ANIM_DURATION, sprites);
stateTime = 0;
for(int i = 0; i < sprites.length - 1; i++){
sprites[i].setSize(jimRect.getWidth(), jimRect.getHeight());
System.out.println("Resized " + i + " sprites to " + jimRect.getWidth() + "x" + jimRect.getHeight());
}
}
所以基本上我創建96的高度和48寬的長方形,使吉姆大一點,然後我去完成創建我的精靈,然後將它們添加到過程數組(我知道,使用分割方法的紋理區域會更好,但它會導致問題並令我煩惱)。
然後我用duration和sprites數組創建我的動畫。
現在這部分在這裏特別:
for(int i = 0; i < sprites.length - 1; i++){
sprites[i].setSize(jimRect.getWidth(), jimRect.getHeight());
System.out.println("Resized " + i + " sprites to " + jimRect.getWidth() + "x" + jimRect.getHeight());
}
這是爲什麼不工作?我甚至添加了一個超級奇怪的控制檯打印,所以我可以告訴循環甚至開始,數組正在迭代通過正確,並且我的矩形的寬度/高度是我所說的。
打我,看來我必須在batch.draw(currentFrame,x,y,width,height)中使用參數在batch.draw方法中進行大小調整。 – Gibbo