0
私はゲームでScene2D
の機能を使用しています。私はFitViewport
と仮想スクリーンサイズ1920x1080を持っています。Scene2D座標
viewport = new FitViewport(AssetLoader.VIRTUAL_WIDTH, AssetLoader.VIRTUAL_HEIGHT);
stage = new Stage(viewport);
また、Actor
クラスから延長MyActor
クラスがあります。私はこの取得実行している場合
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
batch.end();
renderer.begin(ShapeRenderer.ShapeType.Line);
this.drawDebugBounds(renderer);
renderer.end();
batch.begin();
font.draw(batch, text, getX(), getY());
}
:MyActor
コンストラクタ:
public MyActor(String text, float x, float y) {
this.text = text;
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(AssetLoader.robotoFontFile);
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 96;
font = generator.generateFont(parameter);
generator.dispose();
layout = new GlyphLayout();
layout.setText(font, text);
super.setBounds(x, y, layout.width, layout.height);
this.debug();
renderer = new ShapeRenderer();
this.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("MyActor", text + " is touched!");
return true;
}
});
}
そしてMyActor
はdraw()
メソッドをオーバーライド
InputListener
は、入力を処理するだけで、私はもかかわらず、緑の四角形の内側にタッチしたときテキストに期待される接触の
だからどこに問題がありますか? BitmapFont
draw
メソッドは左上隅の位置を取るか、座標に問題がありますか?
ありがとうございます!スケーリングとローテーションがうまくいかない理由を説明できますか? – danielleontiev
このスレッドをチェックするhttp://stackoverflow.com/a/42406597/3445320 – Aryan
拡大縮小または回転した俳優のみを拡大/縮小したり回転したりすると、Font Actorでは俳優は単なるモデルであり、そのビューは影響を受けません – Aryan