فهرست منبع

Merge pull request #3722 from Hinsbart/fix_action_pressed

fix joystick axis handling for Input.is_action_pressed()
Rémi Verschelde 9 سال پیش
والد
کامیت
a63ebda21f
1فایلهای تغییر یافته به همراه12 افزوده شده و 0 حذف شده
  1. 12 0
      main/input_default.cpp

+ 12 - 0
main/input_default.cpp

@@ -102,6 +102,18 @@ bool InputDefault::is_action_pressed(const StringName& p_action) {
 				if (joy_buttons_pressed.has(c))
 					return true;
 			} break;
+			case InputEvent::JOYSTICK_MOTION: {
+
+				const InputEventJoystickMotion &iejm=E->get().joy_motion;
+				int c = _combine_device(iejm.axis,device);
+				if (_joy_axis.has(c)) {
+					if (iejm.axis_value < 0) {
+						if (_joy_axis[c] < -0.5f) return true;
+					}
+					else
+						if (_joy_axis[c] > 0.5f) return true;
+				}
+			} break;
 		}
 	}