Joystick constructor

Joystick({
  1. EdgeInsets margin = const EdgeInsets.only(left: 10, bottom: 10),
  2. double size = 80,
  3. required Size screenSize,
  4. required GlobalKey<PeripheralsState> listenableKey,
  5. int color = 0xFF607D8B,
})

Implementation

Joystick({
  this.margin = const EdgeInsets.only(left: 10, bottom: 10),
  this.size = 80,
  required this.screenSize,
  required this.listenableKey,
  this.color = 0xFF607D8B,
}) {
  scene = Scene();

  camera = OrthographicCamera( - screenSize.width / 2, screenSize.width / 2, screenSize.height / 2, - screenSize.height / 2, 0.1, 1000 );
  camera.position.z = 10;

  final loader = TextureLoader();
  loader.fromAsset('assets/joystick_background.png', package: 'three_js_controls').then((value){
    final material = SpriteMaterial.fromMap({'map': value});
    _backgroundSprite = Sprite( material );
    _backgroundSprite!.center.setValues( 0.0, 0.0 );
    _backgroundSprite.scale.setValues( size, size, 1 );
    scene.add(_backgroundSprite);
  });

  loader.fromAsset('assets/joystick_knob.png',package: 'three_js_controls').then((value){
    final material = SpriteMaterial.fromMap({'map': value});
    _knobSprite = Sprite( material );
    _knobSprite!.center.setValues( 0.0, 0.0 );
    _knobSprite.scale.setValues( size/1.5, size/1.5, 1 );
    scene.add(_knobSprite);
  });

  activate();
}