Explorar o código

fix Pad for Chrome (#579)

RollinBarrel %!s(int64=6) %!d(string=hai) anos
pai
achega
cf82ddd5c5
Modificáronse 1 ficheiros con 9 adicións e 1 borrados
  1. 9 1
      hxd/Pad.hx

+ 9 - 1
hxd/Pad.hx

@@ -538,7 +538,15 @@ class Pad {
 	#elseif js
 
 	static function syncPads() {
-		try js.Browser.navigator.getGamepads() catch( e : Dynamic ) {};
+		var freshPads : Array<js.html.Gamepad> = [];
+		try freshPads = js.Browser.navigator.getGamepads() catch( e : Dynamic ) {}; 
+		if ( freshPads.length > 0 ) {
+			for ( i in 0...freshPads.length ) {
+				if ( pads[i] != null ) {
+					pads[i].d = freshPads[i];
+				}
+			}
+		}
 		for( p in pads ) {
 			for( i in 0...p.d.buttons.length ) {
 				p.prevButtons[i] = p.buttons[i];