|
@@ -221,11 +221,24 @@ class Pad {
|
|
|
public var name(get, never) : String;
|
|
|
public var index : Int = -1;
|
|
|
public var config : PadConfig = DEFAULT_CONFIG;
|
|
|
- public var xAxis : Float = 0.;
|
|
|
- public var yAxis : Float = 0.;
|
|
|
+ public var xAxis(get,never) : Float;
|
|
|
+ public var yAxis(get,never) : Float;
|
|
|
+ public var axisDeadZone : Float = 0.1;
|
|
|
public var buttons : Array<Bool> = [];
|
|
|
public var values : Array<Float> = [];
|
|
|
var prevButtons : Array<Bool> = [];
|
|
|
+ var rawXAxis : Float = 0.;
|
|
|
+ var rawYAxis : Float = 0.;
|
|
|
+
|
|
|
+ function get_xAxis() {
|
|
|
+ if( Math.abs(rawXAxis) < axisDeadZone ) return 0.;
|
|
|
+ return rawXAxis;
|
|
|
+ }
|
|
|
+
|
|
|
+ function get_yAxis() {
|
|
|
+ if( Math.abs(rawYAxis) < axisDeadZone ) return 0.;
|
|
|
+ return rawYAxis;
|
|
|
+ }
|
|
|
|
|
|
public dynamic function onDisconnect(){
|
|
|
}
|
|
@@ -243,7 +256,7 @@ class Pad {
|
|
|
}
|
|
|
|
|
|
public function reset() {
|
|
|
- xAxis = yAxis = 0;
|
|
|
+ rawXAxis = rawYAxis = 0;
|
|
|
for( i in 0...buttons.length ) buttons[i] = false;
|
|
|
for( i in 0...buttons.length ) prevButtons[i] = false;
|
|
|
for( i in 0...values.length ) values[i] = 0;
|
|
@@ -328,9 +341,9 @@ class Pad {
|
|
|
//if( Math.abs(p.values[valID] - v) > 0.1 ) trace(valID, v);
|
|
|
p.values[valID] = v;
|
|
|
if( axisID == axisX )
|
|
|
- p.xAxis = v;
|
|
|
+ p.rawXAxis = v;
|
|
|
else if( axisID == axisY )
|
|
|
- p.yAxis = -v;
|
|
|
+ p.rawYAxis = -v;
|
|
|
});
|
|
|
} else if( StringTools.startsWith(c.id, "BUTTON_") ) {
|
|
|
c.addEventListener(flash.events.Event.CHANGE, function(_) {
|
|
@@ -438,9 +451,9 @@ class Pad {
|
|
|
values[ axisId ] = v;
|
|
|
|
|
|
if( axisId == 0 )
|
|
|
- xAxis = v;
|
|
|
+ rawXAxis = v;
|
|
|
else if( axisId == 1 )
|
|
|
- yAxis = v;
|
|
|
+ rawYAxis = v;
|
|
|
}
|
|
|
|
|
|
static function initPad( index ){
|
|
@@ -516,9 +529,9 @@ class Pad {
|
|
|
p._detectAnalogButton(ii, v);
|
|
|
p.values[ii] = v;
|
|
|
if( ii == GameController.CONFIG.analogX )
|
|
|
- p.xAxis = v;
|
|
|
+ p.rawXAxis = v;
|
|
|
else if( ii == GameController.CONFIG.analogY )
|
|
|
- p.yAxis = -v;
|
|
|
+ p.rawYAxis = -v;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -566,8 +579,8 @@ class Pad {
|
|
|
p.values[(i << 1) + p.d.buttons.length] = x;
|
|
|
p.values[(i << 1) + p.d.buttons.length + 1] = -y;
|
|
|
if( i == 0 ) {
|
|
|
- p.xAxis = x;
|
|
|
- p.yAxis = y;
|
|
|
+ p.rawXAxis = x;
|
|
|
+ p.rawYAxis = y;
|
|
|
}
|
|
|
}
|
|
|
}
|