ich ein Rechteck mache:Rechteck Zeichnen und auf Batch sehen ohne Textur
rect = new Rectangle();
rect.x = 40;
rect.y = 100;
rect.setSize(100,100);
und dann auch eine gewisse Textur auf der Position des Rechtecks zeichnen wie:
batch.draw(myTexture, rect.x , rect.y, rect.width, rect.height);
Nun, was ich will Zu tun ist auch die Form des Rechtecks, wie ich einige Grenze sehen muss, so dass ich meine Rechteckgrenze sowie meine Textur sehen kann. Und ich brauche das zum Debuggen Zwecke wie die Textur ist komplex wie irgendwo der Hintergrund transparent ist, so möchte ich die Kollision von diesen Orten zu entfernen, und deshalb denke ich, wenn ich sowohl die Rechtecke und das Sprite sehen könnte, wäre es toll.
Obwohl ich dies zu tun versucht:
dachteshapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setColor(Color.RED);
shapeRenderer.rect(0,0,100,100);
shapeRenderer.end();
ich den obigen Code mir die Textur sowie sehen Sie das Rechteck zeichnen würde helfen, aber stellt sich heraus, i Grenze nur das Rechteck sehen konnte und nicht die Textur.
Hier ist der Ausgang:
Im Bild können Sie ein rotes Rechteck sehen, und das ist, wo ich meine Bar zu debuggen versuche (Bar der gelben Farbe auch sein sollte hier gezeigt), aber mein Gelb erscheint nicht, da dieses Rechteck mit rotem Rand meinen Balken überlappt.
klar sein, ich will das shapeRenderer direkt über der Textur sehen und die beiden
Haben Sie beide versucht mit, zuerst die Textur mit dem normalen Spritebatch zeichnen dann die ShapeRenderer mit das Rechteck zeichnen? – dfour
Ja, ich habe versucht, beide zu tun und ShapeRenderer überschreibt die Zeichentextur komplett mit Batch und das passiert, weil ShapeRenderer-Code nach dem Zeichnen der Textur zu Batch geschrieben wird, aber da ich ShapeType in ShapeRenderer verwende ich dachte, ich könnte beide sehen, aber anscheinend tut nicht so aus. –
Möglicherweise müssen Sie das Mischen vor allen Zeichenaufrufen durch den Shape-Renderer aktivieren, um Transparenz zu ermöglichen. Gdx.gl.glEnable (GL10.GL_BLEND); Gdx.gl.glBlendFunc (GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); Renderform Gdx.gl.glDisable (GL10.GL_BLEND); – dfour