mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 01:44:06 -04:00
wasd turn and strafe toggle
This commit is contained in:
parent
56cc30383a
commit
d6072c0c18
@ -41,6 +41,9 @@ class ControlManager:
|
|||||||
ist.append(inputState.watchWithModifiers("reverse", "mouse4", inputSource=inputState.Mouse))
|
ist.append(inputState.watchWithModifiers("reverse", "mouse4", inputSource=inputState.Mouse))
|
||||||
|
|
||||||
if self.wantWASD:
|
if self.wantWASD:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
||||||
ist.append(inputState.watch("turnLeft", "mouse-look_left", "mouse-look_left-done"))
|
ist.append(inputState.watch("turnLeft", "mouse-look_left", "mouse-look_left-done"))
|
||||||
ist.append(inputState.watch("turnLeft", "force-turnLeft", "force-turnLeft-stop"))
|
ist.append(inputState.watch("turnLeft", "force-turnLeft", "force-turnLeft-stop"))
|
||||||
@ -51,10 +54,11 @@ class ControlManager:
|
|||||||
|
|
||||||
ist.append(inputState.watchWithModifiers("forward", "w", inputSource=inputState.WASD))
|
ist.append(inputState.watchWithModifiers("forward", "w", inputSource=inputState.WASD))
|
||||||
ist.append(inputState.watchWithModifiers("reverse", "s", inputSource=inputState.WASD))
|
ist.append(inputState.watchWithModifiers("reverse", "s", inputSource=inputState.WASD))
|
||||||
ist.append(inputState.watchWithModifiers("turnLeft", "a", inputSource=inputState.WASD))
|
|
||||||
ist.append(inputState.watchWithModifiers("turnRight", "d", inputSource=inputState.WASD))
|
# Used to switch between strafe and turn. We will default to turn
|
||||||
ist.append(inputState.watchWithModifiers("slideLeft", "q", inputSource=inputState.WASD))
|
self.WASDTurnTokens = ()
|
||||||
ist.append(inputState.watchWithModifiers("slideRight", "e", inputSource=inputState.WASD))
|
self.setWASDTurn(1)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
ist.append(inputState.watchWithModifiers("turnLeft", "arrow_left", inputSource=inputState.ArrowKeys))
|
||||||
ist.append(inputState.watch("turnLeft", "mouse-look_left", "mouse-look_left-done"))
|
ist.append(inputState.watch("turnLeft", "mouse-look_left", "mouse-look_left-done"))
|
||||||
@ -170,6 +174,10 @@ class ControlManager:
|
|||||||
for token in self.inputStateTokens:
|
for token in self.inputStateTokens:
|
||||||
token.release()
|
token.release()
|
||||||
|
|
||||||
|
if self.wantWASD:
|
||||||
|
for token in self.WASDTurnTokens:
|
||||||
|
token.release()
|
||||||
|
|
||||||
#self.monitorTask.remove()
|
#self.monitorTask.remove()
|
||||||
|
|
||||||
def getSpeeds(self):
|
def getSpeeds(self):
|
||||||
@ -252,3 +260,35 @@ class ControlManager:
|
|||||||
onScreenDebug.add("InputState slideRight", "%d"%(inputState.isSet("slideRight")))
|
onScreenDebug.add("InputState slideRight", "%d"%(inputState.isSet("slideRight")))
|
||||||
return Task.cont
|
return Task.cont
|
||||||
|
|
||||||
|
|
||||||
|
def setWASDTurn(self, turn):
|
||||||
|
turnLeftSet = inputState.isSet("turnLeft")
|
||||||
|
turnRightSet = inputState.isSet("turnRight")
|
||||||
|
slideLeftSet = inputState.isSet("slideLeft")
|
||||||
|
slideRightSet = inputState.isSet("slideRight")
|
||||||
|
|
||||||
|
for token in self.WASDTurnTokens:
|
||||||
|
token.release()
|
||||||
|
if turn:
|
||||||
|
self.WASDTurnTokens = (
|
||||||
|
inputState.watchWithModifiers("turnLeft", "a", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("turnRight", "d", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("slideLeft", "q", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("slideRight", "e", inputSource=inputState.WASD),
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.WASDTurnTokens = (
|
||||||
|
inputState.watchWithModifiers("turnLeft", "q", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("turnRight", "e", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("slideLeft", "a", inputSource=inputState.WASD),
|
||||||
|
inputState.watchWithModifiers("slideRight", "d", inputSource=inputState.WASD),
|
||||||
|
)
|
||||||
|
|
||||||
|
"""
|
||||||
|
inputState.set("turnLeft", turnLeftSet, inputSource=inputState.WASD)
|
||||||
|
inputState.set("turnRight", turnRightSet, inputSource=inputState.WASD)
|
||||||
|
inputState.set("slideLeft", slideLeftSet, inputSource=inputState.WASD)
|
||||||
|
inputState.set("slideRight", slideRightSet, inputSource=inputState.WASD)
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user