LibGDX_3.5:スプライト(Sprite)
5358 ワード
このリンクは次のとおりです.http://blog.csdn.net/xietansheng/article/details/50186997
LibGDX基本チュートリアル(総目次)
1.概要
Sprite(スプライト)はTextureRegion(テクスチャ領域)から継承されており、本質的にはTextureRegionと見なすことができますが、TextureRegionよりもずっと強く、パッケージが完備されており、1枚の画像を表すほか、画面内の位置/座標(描画起点)、スケール比、回転角度、透明度/色など多くの属性が付加されています.Spriteは,ゲーム中の要素(ゲーム人物,アイテム,背景画像など)をより具体的に記述し,1枚の画像にこの画像を描く際に付加される様々な変換属性を加えたパッケージと見なすことができる.
Spriteは以下の構成と見なすことができる.
Sprite=Texture/TextrueRegion+プロパティ(座標、スケーリング比、回転角度、X/Y軸方向のミラーリング、透明度/色など)
Spriteクラスの継承関係図:
2.コード例
ゲームメインプログラムの起動エントリクラス:
最終運転結果は次の図のとおりです.
LibGDX基本チュートリアル(総目次)
1.概要
Sprite(スプライト)はTextureRegion(テクスチャ領域)から継承されており、本質的にはTextureRegionと見なすことができますが、TextureRegionよりもずっと強く、パッケージが完備されており、1枚の画像を表すほか、画面内の位置/座標(描画起点)、スケール比、回転角度、透明度/色など多くの属性が付加されています.Spriteは,ゲーム中の要素(ゲーム人物,アイテム,背景画像など)をより具体的に記述し,1枚の画像にこの画像を描く際に付加される様々な変換属性を加えたパッケージと見なすことができる.
Spriteは以下の構成と見なすことができる.
Sprite=Texture/TextrueRegion+プロパティ(座標、スケーリング比、回転角度、X/Y軸方向のミラーリング、透明度/色など)
Spriteクラスの継承関係図:
2.コード例
ゲームメインプログラムの起動エントリクラス:
package com.libgdx.test;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
/** * */
public class MainGame extends ApplicationAdapter {
private SpriteBatch batch;
//
private Texture texture;
//
private Sprite sprite;
@Override
public void create() {
batch = new SpriteBatch();
// , badlogic.jpg 256 * 256
texture = new Texture(Gdx.files.internal("badlogic.jpg"));
// ,
sprite = new Sprite(texture);
// ( )
sprite.setPosition(64, 128);
// ( / / ) , Sprite( ) ,
sprite.setOrigin(0, 0);
// , ,
sprite.setRotation(15.0F);
// X Y , 1/2
sprite.setScale(0.5F, 0.5F);
// ,
sprite.flip(true, false);
}
@Override
public void render() {
//
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// begin() end()
batch.begin();
/* * , , , , / , * SpriteBatch Sprite, */
sprite.draw(batch);
batch.end();
}
@Override
public void dispose() {
//
if (batch != null) {
batch.dispose();
}
/* * texture , sprite TextureRegion , dispose() , sprite, * sprite texture/region , texture , * texture , sprite , sprite texture 。 */
if (texture != null) {
texture.dispose();
}
}
}
最終運転結果は次の図のとおりです.