From dc1ec6b87747e221a19ab4ae42090ba84e51616d Mon Sep 17 00:00:00 2001 From: fireclawthefox Date: Wed, 10 Aug 2016 16:48:53 +0200 Subject: [PATCH] small cleanup of sample files Further documentation simplyfy lines by separately storing the value of findControl --- samples/gamepad/gamepad.py | 17 ++++++++++++----- samples/gamepad/steeringWheel.py | 8 +++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/samples/gamepad/gamepad.py b/samples/gamepad/gamepad.py index fe6cbd296f..82154838f6 100644 --- a/samples/gamepad/gamepad.py +++ b/samples/gamepad/gamepad.py @@ -56,16 +56,19 @@ class App(ShowBase): # movements by ourself self.disableMouse() + # list of connected gamepad devices + gamepads = base.devices.getDevices(InputDevice.DC_gamepad) + # set the center position of the control sticks # NOTE: here we assume, that the wheel is centered when the application get started. # In real world applications, you should notice the user and give him enough time # to center the wheel until you store the center position of the controler! - gamepads = base.devices.getDevices(InputDevice.DC_gamepad) self.lxcenter = gamepads[0].findControl(InputDevice.C_left_x).state self.lycenter = gamepads[0].findControl(InputDevice.C_left_y).state self.rxcenter = gamepads[0].findControl(InputDevice.C_right_x).state self.rycenter = gamepads[0].findControl(InputDevice.C_right_y).state + self.taskMgr.add(self.moveTask, "movement update task") def connect(self, device): @@ -106,13 +109,17 @@ class App(ShowBase): # we will use the first found gamepad # Move the camera left/right - movementVec.setX(gamepads[0].findControl(InputDevice.C_left_x).state - self.lxcenter) + left_x = gamepads[0].findControl(InputDevice.C_left_x) + movementVec.setX(left_x.state - self.lxcenter) # Move the camera forward/backward - movementVec.setY(gamepads[0].findControl(InputDevice.C_left_y).state - self.lycenter) + left_y = gamepads[0].findControl(InputDevice.C_left_y) + movementVec.setY(left_y.state - self.lycenter) # Control the cameras heading - base.camera.setH(base.camera, 100 * dt * (gamepads[0].findControl(InputDevice.C_right_x).state - self.rxcenter)) + right_x = gamepads[0].findControl(InputDevice.C_right_x) + base.camera.setH(base.camera, 100 * dt * (right_x.state - self.rxcenter)) # Control the cameras pitch - base.camera.setP(base.camera, 100 * dt * (gamepads[0].findControl(InputDevice.C_right_y).state - self.rycenter)) + right_y = gamepads[0].findControl(InputDevice.C_right_y) + base.camera.setP(base.camera, 100 * dt * (right_y.state - self.rycenter)) # calculate movement base.camera.setX(base.camera, 100 * dt * movementVec.getX()) diff --git a/samples/gamepad/steeringWheel.py b/samples/gamepad/steeringWheel.py index 256c2e1eb3..306419c378 100644 --- a/samples/gamepad/steeringWheel.py +++ b/samples/gamepad/steeringWheel.py @@ -114,13 +114,15 @@ class App(ShowBase): # we will use the first found wheel # Acclerate - accleration = wheels[0].findControl(InputDevice.C_accelerator).state * self.maxAccleration - if self.currentMoveSpeed > wheels[0].findControl(InputDevice.C_accelerator).state * self.maxSpeed: + acclearatorPedal = wheels[0].findControl(InputDevice.C_accelerator).state + accleration = accleratorPedal * self.maxAccleration + if self.currentMoveSpeed > accleratorPedal * self.maxSpeed: self.currentMoveSpeed -= dt * self.deaccleration self.currentMoveSpeed += dt * accleration # Break - deacleration = wheels[0].findControl(InputDevice.C_brake).state * self.deaclerationBreak + breakPedal = wheels[0].findControl(InputDevice.C_brake).state + deacleration = breakPedal * self.deaclerationBreak self.currentMoveSpeed -= dt * deacleration if self.currentMoveSpeed < 0: self.currentMoveSpeed = 0