LibGDX_4.3:舞台(ステージ)
7167 ワード
本論文のリンク:http://blog.csdn.net/xietansheng/article/details/50187111
LibGDX基礎教程(総目次)
1.概要
舞台は多くの俳優(Actor)の「演技」の場所であり、異なるレベルの俳優を含む2 Dシーンと見なされ、視認口(全体スケーリング表示/画面適応)と入力イベント(タッチパネル、マウスクリック、ボタンボタン押しなど)を処理し、俳優に配布することができる.
2.舞台類(ステージ)
ステージの一部の方法: float get Width():ステージの幅を取得する float get Height():ステージの高さを取得する void act(float delta):舞台ロジックを更新し、舞台の俳優をバッチリ処理する(自動的に俳優のactを呼び出す(方法が俳優の論理を更新する) . void draw():舞台を描いて、舞台の俳優を自動的に呼び出します. void dispose():ステージ中のすべてのリソースを解放する bootlean addListener:イベントを追加してステージ に傍受する. bootlean removeListener(EventListener listener):モニターを除去する void addActor(Actor actor):舞台に俳優を追加します. void clear():舞台の俳優全員を削除する . Group getRoot():舞台で俳優を守るすべての俳優を獲得する Group:俳優グループは、Actorを継承し、俳優でもあります.舞台ではGroupのオブジェクトを維持し、ステージに追加した俳優が最終的にGroupに追加されました.ステージクラスでは俳優を増やす方法がありますが、俳優を削除する方法はありません.俳優を削除する必要があれば、stage.get Rootを呼び出す必要があります.方法はまずステージのGroupオブジェクトを取得し、Groupオブジェクトのgroup.removeActorメソッドを呼び出します.
3.コードの例
ここでは前の章の俳優を参照してください.
LibGDX基礎教程(総目次)
1.概要
舞台は多くの俳優(Actor)の「演技」の場所であり、異なるレベルの俳優を含む2 Dシーンと見なされ、視認口(全体スケーリング表示/画面適応)と入力イベント(タッチパネル、マウスクリック、ボタンボタン押しなど)を処理し、俳優に配布することができる.
2.舞台類(ステージ)
ステージの一部の方法:
Array<Actor>
getActors():舞台の俳優全員を取得する3.コードの例
ここでは前の章の俳優を参照してください.
package com.libgdx.test;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Actor;
/** * */
public class MyActor extends Actor {
private TextureRegion region;
public MyActor(TextureRegion region) {
super();
this.region = region;
setSize(this.region.getRegionWidth(), this.region.getRegionHeight());
}
public TextureRegion getRegion() {
return region;
}
public void setRegion(TextureRegion region) {
this.region = region;
setSize(this.region.getRegionWidth(), this.region.getRegionHeight());
}
@Override
public void act(float delta) {
super.act(delta);
}
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
if (region == null || !isVisible()) {
return;
}
batch.draw(
region,
getX(), getY(),
getOriginX(), getOriginY(),
getWidth(), getHeight(),
getScaleX(), getScaleY(),
getRotation()
);
}
}
ゲームマスタープログラムの起動エントリクラス: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.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Stage;
/** * */
public class MainGame extends ApplicationAdapter {
//
private Texture texture;
//
private MyActor actor;
//
private Stage stage;
@Override
public void create() {
// , badlogic.jpg 256 * 256
texture = new Texture(Gdx.files.internal("badlogic.jpg"));
// , (0, 0),
actor = new MyActor(new TextureRegion(texture));
// ,
stage = new Stage();
// ,
stage.addActor(actor);
}
@Override
public void render() {
//
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
/* * (SpriteBatch), begin() end() , * , act() draw() */
// , ( act() )
stage.act();
// , ( draw() )
stage.draw();
}
@Override
public void dispose() {
//
if (texture != null) {
texture.dispose();
}
//
if (stage != null) {
stage.dispose();
}
}
}
実行結果: