Sagen wir, ich habe einen Schauspieler foo
und einen Schauspieler bar
, die die größere Version des foo
Schauspielers ist. Wie kann ich bar
neben foo
anzeigen, während foo
angezapft wird und dann verschwinden lassen, wenn foo
nicht mehr angezapft wird (irgendwie wie ein Tooltip)? Foo
ist in einer stage2d-Tabelle. Wie kann ich eine größere, vollständigere Version des Schauspielers zeigen, während er angezapft wird?Größere Version von Schauspieler zeigen, während Schauspieler angezapft wird libgdx
grobe Vorstellung von dem, was ich will:
Actor foo = new Actor();
foo.addListener(new ActorGestureListener() {
public void touchDown (InputEvent event, float x, float y, int pointer, int button) {
// show bar next to foo (like a tooltip)
}
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
// make bar dissapear
}
});
Code, die Art tut, was ich will: In diesem Fall toolTipCard ist der Schauspieler, den ich angezeigt werden soll, wenn ich eine der Saiten berühren von selectedDeck
.
Stage collectionStage;
List<String> selectedDeck;
TestCard tooltipCard;
Vector3 touch = new Vector3();
selectedDeck.addListener(new ActorGestureListener() {
public void touchDown(InputEvent event, float x, float y, int count, int button) {
if (selectedDeck.getItems().size > 0) {
tooltipCard = new TestCard(game.cardFont, cardNameToCard.get(selectedDeck.getSelected()));
tooltipCard.setWidth(Gdx.graphics.getWidth()/(7 * scale));
tooltipCard.setHeight(Gdx.graphics.getHeight()/(3.3f * scale));
touch = viewport.unproject(touch.set(Gdx.input.getX(), Gdx.input.getY(), 0));
tooltipCard.setPosition(touch.x - tooltipCard.getWidth(), touch.y - tooltipCard.getHeight());
collectionStage.addActor(tooltipCard);
}
}
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
tooltipCard.remove();
}
});
Erstellen Sie Ihr eigenes Bild (foo), überschreiben Sie die Methode des Bildes und Zeichnungsleiste (Textur oder Label) mit der Verwendung von Flag. Ändern Sie den flachen Wert der touchDown-Methode. – Aryan
Wäre es nicht eine bessere Idee, die Position des getappten Schauspielers ('foo') zu erhalten und dann den anderen Schauspieler (' bar') der Bühne zu dieser Position hinzuzufügen, übersetzt mit der Größe des getappten Schauspielers ('foo ')? – Andy
Keine Notwendigkeit, einen anderen Akteur zu erstellen, nur ein Akteur foo, Bar ist nur ein Teil von foo, wie ein Datenelement von Ihrem Actor. – Aryan