Ausgabe
Wir haben eine SpriteComponent (_fortress), die ein zentrales Objekt ist, und eine weitere SpriteComponent (_player), die sich um _fortress bewegt. Wir möchten, dass _fortress _player verfolgt, indem es sich dreht, ähnlich wie bei einem typischen Shooter-Spiel (siehe zum Beispiel das Spiel Space Fortress).
_fortress.add(
RotateEffect.by(
_fortress.position.angleTo(_player.position),
LinearEffectController(1),
onComplete: () => {},
),
);
Lösung
_player
Wenn Sie das immer ohne Verzögerung verfolgen möchten, können Sie die lookAt
Methode in Ihrer Aktualisierungsmethode verwenden:
class Fortress extends SpriteComponent with HasGameRef<YourGameClass> {
@override
double nativeAngle = pi; // You only need to set this if your sprite isn't "looking straight up" in the image, if it is looking to the right it should be `pi` etc.
@override
void update(double dt) p
super.update(dt);
lookAt(gameRef.player.position);
}
}
Beantwortet von – Spydon
Antwort geprüft von – Cary Denson (FixError Admin)