gamepad support and keybind cleaning up
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package;
|
||||
|
||||
import flixel.input.gamepad.FlxGamepad;
|
||||
import flixel.FlxG;
|
||||
import flixel.input.FlxInput;
|
||||
import flixel.input.actions.FlxAction;
|
||||
@ -571,8 +572,22 @@ class Controls extends FlxActionSet
|
||||
//trace(FlxKey.fromString(FlxG.save.data.upBind));
|
||||
|
||||
removeKeyboard();
|
||||
if (gamepadsAdded.length != 0)
|
||||
removeGamepad();
|
||||
KeyBinds.keyCheck();
|
||||
|
||||
|
||||
var buttons = new Map<Control,Array<FlxGamepadInputID>>();
|
||||
|
||||
buttons.set(Control.UP,[FlxGamepadInputID.fromString(FlxG.save.data.gpupBind)]);
|
||||
buttons.set(Control.LEFT,[FlxGamepadInputID.fromString(FlxG.save.data.gpleftBind)]);
|
||||
buttons.set(Control.DOWN,[FlxGamepadInputID.fromString(FlxG.save.data.gpdownBind)]);
|
||||
buttons.set(Control.RIGHT,[FlxGamepadInputID.fromString(FlxG.save.data.gprightBind)]);
|
||||
buttons.set(Control.ACCEPT,[FlxGamepadInputID.A]);
|
||||
buttons.set(Control.BACK,[FlxGamepadInputID.B]);
|
||||
buttons.set(Control.PAUSE,[FlxGamepadInputID.START]);
|
||||
|
||||
addGamepad(0,buttons);
|
||||
|
||||
inline bindKeys(Control.UP, [FlxKey.fromString(FlxG.save.data.upBind), FlxKey.UP]);
|
||||
inline bindKeys(Control.DOWN, [FlxKey.fromString(FlxG.save.data.downBind), FlxKey.DOWN]);
|
||||
inline bindKeys(Control.LEFT, [FlxKey.fromString(FlxG.save.data.leftBind), FlxKey.LEFT]);
|
||||
@ -599,6 +614,9 @@ class Controls extends FlxActionSet
|
||||
|
||||
public function addGamepad(id:Int, ?buttonMap:Map<Control, Array<FlxGamepadInputID>>):Void
|
||||
{
|
||||
if (gamepadsAdded.contains(id))
|
||||
gamepadsAdded.remove(id);
|
||||
|
||||
gamepadsAdded.push(id);
|
||||
|
||||
#if (haxe >= "4.0.0")
|
||||
|
Reference in New Issue
Block a user