优化单手控制前后左右运动方式(龙头模式)

This commit is contained in:
myperworld committed 2025-12-06 11:27:24 +08:00
1 parent dadcc06acc
commit 0b8a6cf00e
1 file changed
+13 -2
+13 -2
View File
@@ -57,6 +57,8 @@ bool last_btnDirDown = 0;
bool last_btnSelect = 0; bool last_btnSelect = 0;
bool last_btnStart = 0; bool last_btnStart = 0;
bool last_btnShare = 0; bool last_btnShare = 0;
bool last_joyRHori = 0;
bool last_joyLHori = 0;
/************实例定义*************/ /************实例定义*************/
@@ -1059,7 +1061,10 @@ void processControllerData(const XboxControllerNotificationParser& remoteData) {
map(remoteData.joyLHori, 0, 65535, -100, 100), map(remoteData.joyLHori, 0, 65535, -100, 100),
-100, 100 -100, 100
); );
if(abs(convertedJ1PotX) > deadZone) { // 左右运动 -100 到 100 if(abs(convertedJ1PotX) > deadZone
&& ( (last_joyLHori > 0 && ( remoteData.joyLHori- last_joyLHori)> 0 )
|| (last_joyLHori <0 && ( remoteData.joyLHori- last_joyLHori)< 0 )
)) { // 左右运动 -100 到 100
wrobot.joyx = convertedJ1PotX; wrobot.joyx = convertedJ1PotX;
} else { } else {
wrobot.joyx = 0; wrobot.joyx = 0;
@@ -1070,12 +1075,18 @@ void processControllerData(const XboxControllerNotificationParser& remoteData) {
map(remoteData.joyRHori, 0, 65535, -100, 100), map(remoteData.joyRHori, 0, 65535, -100, 100),
-100, 100 -100, 100
); );
if(abs(convertedJ2PotX) > deadZone) { // 左右运动 -100 到 100 if(abs(convertedJ2PotX) > deadZone
&& ( (last_joyRHori > 0 && ( remoteData.joyRHori- last_joyRHori)> 0 )
|| (last_joyRHori <0 && ( remoteData.joyRHori- last_joyRHori)< 0 )
)) { // 左右运动 -100 到 100
wrobot.joyx = convertedJ2PotX * 0.3; wrobot.joyx = convertedJ2PotX * 0.3;
} else { } else {
wrobot.joyx = 0; wrobot.joyx = 0;
} }
} }
last_joyRHori = remoteData.joyRHori;
last_joyLHori = remoteData.joyLHori;
// 智能计算wrobot.height ,根据前后速度, // 智能计算wrobot.height ,根据前后速度,
// convertedJ2PotY 范围-100到100,默认0,输出范围30(最矮)-50(最高), 默认 50 // convertedJ2PotY 范围-100到100,默认0,输出范围30(最矮)-50(最高), 默认 50