[FIXED] Wie kann man Flutter-Flammenkomponenten dazu bringen, sich gegenseitig zu verfolgen?

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

_playerWenn Sie das immer ohne Verzögerung verfolgen möchten, können Sie die lookAtMethode 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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like