私はこのようになりますスプライト画像の質感があります。libGDXのアニメーションテクスチャ領域は
を、私はそれをアニメーション化しようとしています。私は画像を反転する理由であるyDown座標系を使用して、現在のよ次いで
//AssetLoader class
runTexture = new Texture("kirbyrun.png");
runTexture.setFilter(TextureFilter.Nearest,TextureFilter.Nearest);
//Run Hiro
hiro1 = new TextureRegion(runTexture,0,55,37,55);
hiro1.flip(false,true);
hiro2 = new TextureRegion(runTexture,37,55,44,55);
hiro2.flip(false,true);
hiro3 = new TextureRegion(runTexture,81,55,44,55);
hiro3.flip(false,true);
hiro4 = new TextureRegion(runTexture,129,55,46,55);
hiro4.flip(false,true);
hiro5 = new TextureRegion(runTexture,176,55,41,55);
hiro5.flip(false,true);
hiro6 = new TextureRegion(runTexture,216,55,41,55);
hiro6.flip(false,true);
hiro7 = new TextureRegion(runTexture,257,55,41,55);
hiro7.flip(false,true);
hiro8 = new TextureRegion(runTexture,301,55,42,55);
hiro8.flip(false,true);
TextureRegion[] run = {hiro1,hiro2,hiro3,hiro4,hiro5,hiro6,hiro7,hiro8};
hiroRunAnimation = new Animation<TextureRegion>(0.5f,run);
hiroRunAnimation.setPlayMode(Animation.PlayMode.LOOP);
アニメーションTextureRegion配列にすべてのフレームを保存するこのコードはTextureRegion変数に各フレームを保存するように設定されています。このコードを使用してこれをレンダリングしようとした後
:
TextureRegion currentFrame = AssetLoader.hiroRunAnimation.getKeyFrame(runTime);
sb.begin();
sb.draw(currentFrame,player.getX(),player.getY(),player.getWidth(),player.getHeight());
sb.end();
それはだけではなく、星のカービィのブロックの画像を開きます。
それは私が何か間違ったことをやっている明らかだ、私は」私のTextureRegionセクションで、おそらく私のX、Yの座標か間違っていると推測していますが、spritecow.comを使ってこれらの座標を取得したので、これを修正する方法がわかりません。私は左上の角が(0,0)であると仮定しており、正のYは画像を下ろすことを意味しています。これらのボックスの代わりにカービィを実際に表示させるにはどうすればいいですか?または、各フレームイメージを別々の.pngファイルに分割し、TextureRegionの代わりにTextureを使用する方が簡単なので、確定領域を指定する必要はありません。それから私はアニメーションを使うことができますか、それともうまくいかないでしょうか?
これらの黒いボックスはあなたのスプライトシートにありますか? – eldo