我想在libgdx中創建一個無限循環的動畫。問題在於,當我運行它時,動畫將運行第一個循環,但由於NullPointerException而發生崩潰。LibGDX - 創建一個無限循環的動畫
我已經設置動畫播放模式循環,通過設置布爾調用getKeyFrame()循環時爲true:
currentFrame = globeAnimation.getKeyFrame(time, true);
當我運行它,它會爲關鍵幀1-40工作(數量在我的動畫幀,但隨後會與此錯誤崩潰第二個到達關鍵幀41與此錯誤消息:
java.lang.NullPointerException
我也試圖通過在構造函數中設置它設置播放模式循環:
globeAnimation = new Animation(GLOBE_ANIMATION_FRAME_RATE, globeAnimationTextureRegions, PlayMode.LOOP);
出於某種原因,我這樣做的時候,它給我的錯誤,指出它
cannot resovle constructor for
Animation(float,TextureRegion[],PlayMode) constructor Animation.Animation(float,Array<? extends TextureRegion>,PlayMode)
這是沒有意義的,我的,因爲框架有一個構造函數的確切參數。
public Animation (float frameDuration, Array<? extends TextureRegion> keyFrames, PlayMode playMode) {
this.frameDuration = frameDuration;
this.animationDuration = keyFrames.size * frameDuration;
this.keyFrames = new TextureRegion[keyFrames.size];
for (int i = 0, n = keyFrames.size; i < n; i++) {
this.keyFrames[i] = keyFrames.get(i);
}
this.playMode = playMode;
}
有人可以解釋爲什麼這個構造函數不工作或者一個替代路線來做這個工作。
編輯:
菲爾·安德森找到了原因構造並沒有解決:我曾與
new Array<TextureRegion>(globeAnimationTextureRegions).
更換globeAnimationTextureRegions的構造函數來解決。
確保您導入正確類型的動畫(檢查包名稱)。 – Tenfour04
@ Tenfour04我導入了com.badlogic.gdx.graphics.g2d.Animation – Bhaskar