Changeset 317 for code/branches/steering/src/spaceship_steering.cc
- Timestamp:
- Nov 28, 2007, 3:00:45 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/steering/src/spaceship_steering.cc
r209 r317 7 7 maxSpeedLoopRightLeft) { 8 8 moveForward_ = 0; 9 brake_ = 0;10 9 rotateUp_ = 0; 11 10 rotateDown_ = 0; … … 14 13 loopRight_ = 0; 15 14 loopLeft_ = 0; 15 brakeForward_ = 0; 16 brakeRotate_ = 0; 17 brakeLoop_ = 0; 16 18 speedForward_ = 0; 17 19 speedRotateUpDown_ = 0; … … 33 35 accelerationForward_ = moveForward_; 34 36 if(speedForward_ < maxSpeedForward_) 35 speedForward_ += accelerationForward_ ;37 speedForward_ += accelerationForward_*time; 36 38 if(speedForward_ > maxSpeedForward_) 37 39 speedForward_ = maxSpeedForward_; 38 40 } 39 else{40 accelerationForward_ = brake _;41 if(moveForward_ <= 0) { 42 accelerationForward_ = brakeForward_; 41 43 if(speedForward_ > 0) 42 speedForward_ -= accelerationForward_ ;44 speedForward_ -= accelerationForward_*time; 43 45 if(speedForward_ < 0) 44 46 speedForward_ = 0; … … 48 50 accelerationRotateUpDown_ = rotateUp_; 49 51 if(speedRotateUpDown_ < maxSpeedRotateUpDown_) 50 speedRotateUpDown_ += accelerationRotateUpDown_ ;52 speedRotateUpDown_ += accelerationRotateUpDown_*time; 51 53 if(speedRotateUpDown_ > maxSpeedRotateUpDown_) 52 54 speedRotateUpDown_ = maxSpeedRotateUpDown_; 53 55 } 54 elseif(rotateDown_ > 0) {56 if(rotateDown_ > 0) { 55 57 accelerationRotateUpDown_ = rotateDown_; 56 58 if(speedRotateUpDown_ > -maxSpeedRotateUpDown_) 57 speedRotateUpDown_ -= accelerationRotateUpDown_ ;59 speedRotateUpDown_ -= accelerationRotateUpDown_*time; 58 60 if(speedRotateUpDown_ < -maxSpeedRotateUpDown_) 59 61 speedRotateUpDown_ = -maxSpeedRotateUpDown_; 60 62 } 61 else { 63 if(rotateUp_ == 0 && rotateDown_ == 0) { 64 accelerationRotateUpDown_ = brakeRotate_; 62 65 if(speedRotateUpDown_ > 0) 63 speedRotateUpDown_ -= accelerationRotateUpDown_ ;66 speedRotateUpDown_ -= accelerationRotateUpDown_*time; 64 67 if(speedRotateUpDown_ < 0) 65 speedRotateUpDown_ += accelerationRotateUpDown_ ;68 speedRotateUpDown_ += accelerationRotateUpDown_*time; 66 69 } 67 70 … … 69 72 accelerationRotateRightLeft_ = rotateRight_; 70 73 if(speedRotateRightLeft_ > -maxSpeedRotateRightLeft_) 71 speedRotateRightLeft_ -= accelerationRotateRightLeft_ ;74 speedRotateRightLeft_ -= accelerationRotateRightLeft_*time; 72 75 if(speedRotateRightLeft_ < -maxSpeedRotateRightLeft_) 73 76 speedRotateRightLeft_ = -maxSpeedRotateRightLeft_; 74 77 } 75 elseif(rotateLeft_ > 0) {78 if(rotateLeft_ > 0) { 76 79 accelerationRotateRightLeft_ = rotateLeft_; 77 80 if(speedRotateRightLeft_ < maxSpeedRotateRightLeft_) 78 speedRotateRightLeft_ += accelerationRotateRightLeft_ ;81 speedRotateRightLeft_ += accelerationRotateRightLeft_*time; 79 82 if(speedRotateRightLeft_ > maxSpeedRotateRightLeft_) 80 83 speedRotateRightLeft_ = maxSpeedRotateRightLeft_; 81 84 } 82 else { 85 if(rotateRight_ == 0 && rotateLeft_ == 0) { 86 accelerationRotateRightLeft_ = brakeRotate_; 83 87 if(speedRotateRightLeft_ > 0) 84 speedRotateRightLeft_ -= accelerationRotateRightLeft_ ;88 speedRotateRightLeft_ -= accelerationRotateRightLeft_*time; 85 89 if(speedRotateRightLeft_ < 0) 86 speedRotateRightLeft_ += accelerationRotateRightLeft_ ;90 speedRotateRightLeft_ += accelerationRotateRightLeft_*time; 87 91 } 88 92 … … 90 94 accelerationLoopRightLeft_ = loopRight_; 91 95 if(speedLoopRightLeft_ < maxSpeedLoopRightLeft_) 92 speedLoopRightLeft_ += accelerationLoopRightLeft_ ;96 speedLoopRightLeft_ += accelerationLoopRightLeft_*time; 93 97 if(speedLoopRightLeft_ > maxSpeedLoopRightLeft_) 94 98 speedLoopRightLeft_ = maxSpeedLoopRightLeft_; 95 99 } 96 elseif(loopLeft_ > 0) {100 if(loopLeft_ > 0) { 97 101 accelerationLoopRightLeft_ = loopLeft_; 98 102 if(speedLoopRightLeft_ > -maxSpeedLoopRightLeft_) 99 speedLoopRightLeft_ -= accelerationLoopRightLeft_ ;103 speedLoopRightLeft_ -= accelerationLoopRightLeft_*time; 100 104 if(speedLoopRightLeft_ < -maxSpeedLoopRightLeft_) 101 105 speedLoopRightLeft_ = -maxSpeedLoopRightLeft_; 102 106 } 103 else { 107 if(loopLeft_ == 0 && loopRight_ == 0) { 108 accelerationLoopRightLeft_ = brakeLoop_; 104 109 if(speedLoopRightLeft_ > 0) 105 speedLoopRightLeft_ -= accelerationLoopRightLeft_ ;110 speedLoopRightLeft_ -= accelerationLoopRightLeft_*time; 106 111 if(speedLoopRightLeft_ < 0) 107 speedLoopRightLeft_ += accelerationLoopRightLeft_ ;112 speedLoopRightLeft_ += accelerationLoopRightLeft_*time; 108 113 } 109 114 … … 123 128 void SpaceshipSteering::moveForward(float moveForward) { 124 129 moveForward_ = moveForward; 125 }126 127 void SpaceshipSteering::brake(float brake) {128 brake_ = brake;129 130 } 130 131 … … 153 154 } 154 155 156 void SpaceshipSteering::brakeForward(float brakeForward) { 157 brakeForward_ = brakeForward; 158 } 159 160 void SpaceshipSteering::brakeRotate(float brakeRotate) { 161 brakeRotate_ = brakeRotate; 162 } 163 164 void SpaceshipSteering::brakeLoop(float brakeLoop) { 165 brakeLoop_ = brakeLoop; 166 } 167 155 168 void SpaceshipSteering::maxSpeedForward(float maxSpeedForward) { 156 169 maxSpeedForward_ = maxSpeedForward;
Note: See TracChangeset
for help on using the changeset viewer.