我第一次使用AndEngine創建應用程序。我的應用程序是面向動畫的,即它具有多個點擊動畫的圖像。大多數這些動畫是逐幀動畫。我使用的是AndEngine,因爲我需要一些帶有粒子系統,重力和其他東西的動畫。有人可以在AndEngine中使用簡單的onclick動畫代碼來幫助我,也可以指點我一些很好的教程,因爲所有的AndEngine教程都是沒有逐幀動畫的遊戲教程。任何幫助,將不勝感激。Android AndEngine Ontouch動畫
回答
- 開始之前:請注意,此答案使用了AndEngine的TexturePacker擴展。
對於我的逐幀動畫我使用的是一個名爲Texture Packer的程序,它由AndEngine支持。實際上,您只需將所有圖像拖動到那裏,然後導出需要在項目中使用的3個文件。該文件是:.xml,.java,.png 通過這樣做,我創建了一個大的位圖(儘量保持低於或等於2048x2048),其中包含所有幀。
假設您創建了這些文件後,您需要將它們複製到您的項目。 .png和.xml進入同一目錄,最有可能位於資產/ gfx/...下,而.java文件應與其餘類一起位於src目錄中。
現在讓我們看看一些代碼..
所有我們需要從文件加載所有的紋理首先..我們將做到這一點使用下面的代碼:
這些都是我們的變量將用來創建我們的動畫對象。
private TexturePack dustTexturePack;
private TexturePackTextureRegionLibrary dustTexturePackLibrary;
public TiledTextureRegion dust;
下面的代碼實際上加載從位圖的單紋理到我們的變量
try {
dustTexturePack = new TexturePackLoader(activity.getTextureManager(),"gfx/Animations/Dust Animation/").loadFromAsset(activity.getAssets(),"dust_anim.xml");
dustTexturePack.loadTexture();
dustTexturePackLibrary = dustTexturePack.getTexturePackTextureRegionLibrary();
} catch (TexturePackParseException e) {
Debug.e(e);
}
TexturePackerTextureRegion[] obj = new TexturePackerTextureRegion[dustTexturePackLibrary.getIDMapping().size()];
for (int i = 0; i < dustTexturePackLibrary.getIDMapping().size(); i++) {
obj[i] = dustTexturePackLibrary.get(i);
}
dust = new TiledTextureRegion(dustTexturePack.getTexture(), obj);
正如你所看到的,我們使用的是TiledTextureRegion對象。到目前爲止,我們所做的實際上是加載紋理,並給我們的TiledTextureRegion對象提供所需的關於位於我們的大位圖中較小圖像區域的所有信息。 (注意,我的「塵埃」變量位於ResourceManager類中,因此它是公共的 - 這個信息是爲下一個給出的代碼)
AnimatedSprite dustAnimTiledSprite = new AnimatedSprite(500, 125, resourcesManager.dust, vbom);
myScene.attachChild(dustAnimTiledSprite);
最後,以動畫在特定給定的時間的對象,我們只需使用簡單的方法有生命的,就像這樣的:
dustAnimTiledSprite.animate(40, 0);
(在這種情況下,每一個的持續時間幀是40,並且有0個循環 - 將被動畫一次)
**不太清楚AnimatedSprite和TiledSprite之間有什麼區別。但這是我在遊戲中展示簡單動畫的方式。
我希望這是你正在尋找的。好運
我必須通過以下方式更改TexturePackLoader: 'code' dustTexturePack = new TexturePackLoader(this.getAssets(),this.getTextureManager())。loadFromAsset(「gfx/Animations/Dust Animation/dust_anim.xml」,「gfx /動畫/粉塵動畫/「); 'code' – Arkady
這是精靈表8幀
Player.sprite.animate(
new long[] { 100, 100 }, 7, 8,
false, new IAnimationListener() {
public void onAnimationStarted(
AnimatedSprite pAnimatedSprite,
int pInitialLoopCount) {
}
public void onAnimationLoopFinished(
AnimatedSprite pAnimatedSprite,
int pRemainingLoopCount,
int pInitialLoopCount) {
}
public void onAnimationFrameChanged(
AnimatedSprite pAnimatedSprite,
int pOldFrameIndex,
int pNewFrameIndex) {
}
public void onAnimationFinished(
AnimatedSprite pAnimatedSprite) {
Player.sprite.animate(
new long[] { 100,
100, 100,
100, 100,
100, 100 },
0, 6, true);
}
});
- 1. Android畫布onTouch
- 2. andengine android動畫線程
- 3. Android AndEngine向後動畫
- 4. AndEngine ButtonSprite OnClick或OnTouch
- 5. Thread.sleep動畫(Andengine)
- 6. Android onTouch動畫在ACTION_UP上刪除
- 7. android動畫不工作在onTouch
- 8. 如何在Android AndEngine中執行動畫?
- 9. Andengine中的動畫背景
- 10. ontouch上逐幀動畫
- 11. Android AndEngine動畫精靈沒有正確動畫
- 12. Andengine中的動畫精靈
- 13. onTouch()不能畫畫布
- 14. Android - OnTouch重複動作
- 15. Android onTouch
- 16. 使用AndEngine創建3D動畫
- 17. 如何反轉AndEngine中AnimatedSprite的動畫?
- 18. Android:用動畫旋轉兩個物體(圓圈)onTouch
- 19. 如何用手指ontouch事件android動畫按鈕?
- 20. 如何更改andengine中的精靈動畫android?
- 21. Android - OnTouch做工
- 22. onTouch + canvas + android
- 23. OnTouch延遲(Android)
- 24. Android和onTouch
- 25. AndEngine中的動畫平鋪雪碧
- 26. 動畫雪碧在AndEngine中動畫更多一次
- 27. 的Android AndEngine analogController
- 28. 移動圖片ontouch
- 29. Android AndEngine GameNot Running
- 30. Android onTouch和振動類組合
你能告訴我們「一幀一幀」動畫一些代碼,使你的?你有沒有機會使用AnimatedSprite或TiledSprite? – Orgmir
我還沒有寫任何代碼。我聽說過AnimatedSprite和TiledSprite,但沒有詳細的介紹。我也找不到足夠的教程。你能指點一些很好的例子或教程嗎? – Bhaijaan