import 'package:flame/components.dart'; import 'package:flame/game.dart'; class JoystickPlayer extends SpriteComponent with HasGameRef { /// Pixels/s double maxSpeed = 300.0; final JoystickComponent joystick; JoystickPlayer(this.joystick) : super( size: Vector2.all(100.0), ) { anchor = Anchor.center; } @override Future onLoad() async { super.onLoad(); sprite = await gameRef.loadSprite('layers/player.png'); position = gameRef.size / 2; } @override void update(double dt) { super.update(dt); if (!joystick.delta.isZero()) { position.add(joystick.relativeDelta * maxSpeed * dt); angle = joystick.delta.screenAngle(); } } }