2016-08-09 10 views
0

はのは、私はdrawメソッドを持っているActorを持っているとしましょう:Libgdxは - 長方形/ライン(shaperenderer)をズームする方法を

@Override 
public void draw(Batch batch, float parentAlpha) { 
     super.draw(batch,parentAlpha); 

     sr.begin(ShapeRenderer.ShapeType.Line); 
     sr.setColor(Color.RED); 
     sr.rectLine(getX(),getY(),getX() + getWidth(),getY(),3); 
     sr.end(); 
} 

あなたが見ることができるように、俳優にも自身の下に赤い線を描画します。 今、俳優がいるステージでカメラをズームすると、彼は大きくなります - それはで動作しますが、赤い矩形は動きません。

私はActordebug()を設定すると、それはデバッグラインを示し、 aswellそれらを拡大します。

達成しようとしていることはありますか?

私は俳優に沿ってラインをズームする必要もあります。これを達成する方法を知っている誰もがある場合、私は感謝される

;)

答えて

0

Shaperendererは、バッチに似ています。独自の座標行列を持ちます。 したがって、shaperendererに投影行列を設定する必要があります。

shaperenderer.setProjectionMatrix(camera.combined); 

これはおそらくあなたにとって役に立ちます。

シェイプレンダラーは頂点を使って描画しますが、ズームイン/アウトしても線の幅は変わらないことがあります。

OpenGL機能で線幅を変更することができます。

Gdx.gl.glLineWidth(width); 

また、非常に高価なクラスであり、デバッグ図面にのみ推奨されるため、Shaperendererを使用しないことをお勧めします。

関連する問題