Your First Flutter Flame Game

Mar 6 2024 · Dart 3, Flutter 3.10.1, Android Studio 2021.3.1 or higher, Visual Studo Code 1.7.4 or higher

Part 2: Effects & User Input

11. Rotate the Spaceship

Episode complete

Play next episode

Next
About this episode
Leave a rating/review
See forum comments
Cinema mode Mark complete Download course materials
Previous episode: 10. Add Bullet Component Next episode: 12. Challenge: Add Movement to Saucer

Get immediate access to this and 4,000+ other videos and books.

Take your career further with a Kodeco Personal Plan. With unlimited access to over 40+ books and 4,000+ professional videos in a single subscription, it's simply the best investment you can make in your development career.

Learn more Already a subscriber? Sign in.

Transcript: 11. Rotate the Spaceship

Previously, you learned about DragCallbacks and even added it to your game. But so far, you aren’t actually using it.

DragCallbacks adds four methods to your component: onDragStart, onDragUpdate, onDragEnd, and onDragCancel. You’ve already overridden one of them: onDragUpdate.

onDragUpdate is fired continuously as user drags their finger across the screen. However, it doesn’t run if the player is holding their finger still.

This is exactly the behavior you need for rotating the spaceship.

How would you rotate the ship you ask? Well, Flame’s got you covered.

All PositionComponents have a special function called lookAt. It rotates the component to look at the vector you send to it.

This way, the Spaceship will move towards the finger that is scrolling through the screen.

Demo

To rotate Spaceship. All you need to do is change onDragUpdate’s contents like so

_spaceship?.lookAt(event.canvasPosition);

This makes _spaceship turn to face the position at which the event was performed.

Build and run the game. Do drag gestures and see how the spaceship rotates around.