- Timestamp:
- Jan 11, 2006, 5:45:38 PM (19 years ago)
- Location:
- branches/spaceshipcontrol/src/world_entities/space_ships
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/spaceshipcontrol/src/world_entities/space_ships/helicopter.cc
r6443 r6497 117 117 bFire = false; 118 118 xMouse = yMouse = 0; 119 mouseSensitivity = 0.0 01;120 rotorspeed = 1;121 tailrotorspeed = 0;122 123 cycle = 0.0;124 125 126 travelSpeed = 15.0;119 mouseSensitivity = 0.05; 120 //rotorspeed = 1; 121 //tailrotorspeed = 0; 122 123 //cycle = 0.0; 124 125 126 //travelSpeed = 15.0; 127 127 this->velocity = Vector(0.0,0.0,0.0); 128 128 this->velocityDir = Vector(1.0,0.0,0.0); … … 249 249 void Helicopter::tick (float time) 250 250 { 251 /* 251 252 tailrotorspeed += xMouse/20; 252 253 if (tailrotorspeed >= 0.07) tailrotorspeed = 0.07; … … 256 257 else if (tailrotorspeed < -0.0008) tailrotorspeed += 0.001; 257 258 if (tailrotorspeed <= 0.001 && tailrotorspeed >= -0.001) tailrotorspeed = 0; 258 259 */ 260 259 261 // spaceship controlled movement 260 262 this->calculateVelocity(time); 261 263 262 Vector move = (velocity) ;264 Vector move = (velocity)*time; 263 265 264 266 // this is the air friction (necessary for a smooth control) 265 267 if(velocity.len() != 0) velocity -= velocity*0.1; 268 269 //travelSpeed = velocity.len(); 266 270 267 271 //physics: Gravity 268 this->shiftCoor(Vector(0,-1,0));272 /*this->shiftCoor(Vector(0,-1,0)); 269 273 270 274 this->shiftCoor(getAbsDirY()*rotorspeed); 271 275 */ 276 277 /* 272 278 //hoover effect 273 279 cycle += time; 274 280 this->shiftCoor(Vector(0,1,0)*cos(this->cycle*2.0)*0.02); 281 */ 275 282 276 283 //readjust … … 281 288 282 289 this->shiftCoor (move); 283 this->shiftDir(Quaternion(-M_PI/4*tailrotorspeed, Vector(0,1,0)));290 //this->shiftDir(Quaternion(-M_PI/4*tailrotorspeed, Vector(0,1,0))); 284 291 285 292 this->getWeaponManager()->tick(time); … … 295 302 { 296 303 Vector accel(0.0, 0.0, 0.0); 297 Vector rot(0.0, 0.0, 0.0);298 float rotVal = 0.0;304 float rotValX = 0.0; 305 float rotValZ = 0.0; 299 306 /* FIXME: calculating the direction and orthDirection every timeSlice is redundant! save it somewhere */ 300 307 /* calculate the direction in which the craft is heading */ … … 304 311 //this->shiftCoor(this->getAbsDirX()); 305 312 //accel -= this->getAbsDirY(); 306 rot += Vector (0,0,1); 307 rotVal -= time/5; 313 314 accel += Vector((this->getAbsDirX()).x,0,(this->getAbsDirX()).z); 315 if((this->getAbsDirX()).y >= -0.1) rotValZ -= time; 308 316 } 309 317 else 310 318 { 311 if(this->getAbsDirX().y < -.02) this->shiftDir(Quaternion(time /8, Vector(0,0,1)));319 if(this->getAbsDirX().y < -.02) this->shiftDir(Quaternion(time, Vector(0,0,1))); 312 320 } 313 321 … … 316 324 //this->shiftCoor((this->getAbsDirX())*-1); 317 325 //accel -= this->getAbsDirY(); 318 rot += Vector (0,0,1); 319 rotVal += time/5; 326 327 accel -= Vector((this->getAbsDirX()).x,0,(this->getAbsDirX()).z); 328 rotValZ += time; 320 329 } 321 330 else 322 331 { 323 if(this->getAbsDirX().y > 0.02) this->shiftDir(Quaternion(-time /8, Vector(0,0,1)));332 if(this->getAbsDirX().y > 0.02) this->shiftDir(Quaternion(-time, Vector(0,0,1))); 324 333 } 325 334 … … 329 338 //accel -= this->getAbsDirY(); 330 339 //velocityDir.normalize(); 331 rot += Vector(1,0,0); 332 rotVal -= time/5; 340 341 accel -= Vector((this->getAbsDirZ()).x,0,(this->getAbsDirZ()).z); 342 rotValX -= time; 333 343 } 334 344 else 335 345 { 336 if(this->getAbsDirZ().y > 0.02) this->shiftDir(Quaternion(time /5, Vector(1,0,0)));346 if(this->getAbsDirZ().y > 0.02) this->shiftDir(Quaternion(time, Vector(1,0,0))); 337 347 } 338 348 … … 340 350 { 341 351 //this->shiftDir(Quaternion(-time, Vector(0,1,0))); 342 accel += this->getAbsDirY();352 //accel += this->getAbsDirY(); 343 353 //velocityDir.normalize(); 344 rot += Vector(1,0,0); 345 rotVal += time/5; 354 355 accel += Vector((this->getAbsDirZ()).x,0,(this->getAbsDirZ()).z); 356 rotValX += time; 346 357 } 347 358 else 348 359 { 349 if(this->getAbsDirZ().y < -0.02) this->shiftDir(Quaternion(-time /5, Vector(1,0,0)));360 if(this->getAbsDirZ().y < -0.02) this->shiftDir(Quaternion(-time, Vector(1,0,0))); 350 361 } 351 362 … … 371 382 //this->shiftDir(Quaternion(time, Vector(0,0,1))); 372 383 373 rotorspeed += 0.05; 374 if (rotorspeed >= 2) rotorspeed = 2; 384 accel += this->getAbsDirY(); 385 //rotorspeed += 0.05; 386 //if (rotorspeed >= 2) rotorspeed = 2; 375 387 //velocityDir.normalize(); 376 388 //rot += Vector(0,0,1); … … 379 391 else 380 392 { 381 if(rotorspeed >= 1.05) rotorspeed -= 0.05;393 //if(rotorspeed >= 1.05) rotorspeed -= 0.05; 382 394 } 383 395 … … 386 398 //this->shiftDir(Quaternion(-time, Vector(0,0,1))); 387 399 388 rotorspeed -= 0.05; 389 if (rotorspeed <= 0) rotorspeed = 0; 400 accel -= this->getAbsDirY(); 401 //rotorspeed -= 0.05; 402 //if (rotorspeed <= 0) rotorspeed = 0; 390 403 //velocityDir.normalize(); 391 404 //rot += Vector(0,0,1); … … 394 407 else 395 408 { 396 if(rotorspeed <= 0.05) rotorspeed += 0.05;397 } 398 399 //velocity += accel;400 rot.normalize();401 this->shiftDir(Quaternion(rotVal, rot));409 //if(rotorspeed <= 0.05) rotorspeed += 0.05; 410 } 411 412 velocity += accel; 413 if((this->getAbsDirX()).y <= 0.2 && (this->getAbsDirX()).y >= -0.2) this->shiftDir(Quaternion(rotValZ, Vector(0,0,1))); 414 if((this->getAbsDirZ()).y <= 0.2 && (this->getAbsDirZ()).y >= -0.2) this->shiftDir(Quaternion(rotValX, Vector(1,0,0))); 402 415 } 403 416 … … 452 465 this->yMouse = event.yRel*mouseSensitivity; 453 466 454 //this->shiftDir(Quaternion(-M_PI/4*xMouse*mouseSensitivity, Vector(0,1,0))*Quaternion(-M_PI/4*yMouse*mouseSensitivity, Vector(0,0,1)));467 this->shiftDir(Quaternion(-M_PI/4*xMouse*mouseSensitivity, Vector(0,1,0))/*Quaternion(-M_PI/4*yMouse*mouseSensitivity, Vector(0,0,1))*/); 455 468 } 456 469 } -
branches/spaceshipcontrol/src/world_entities/space_ships/helicopter.h
r6443 r6497 58 58 float yMouse; //!< mouse moved in y-Direction 59 59 float mouseSensitivity; //!< the mouse sensitivity 60 float cycle; //!< hovercycle60 //float cycle; //!< hovercycle 61 61 62 62 Vector velocity; //!< the velocity of the player. … … 64 64 float travelSpeed; //!< the current speed of the player (to make soft movement) 65 65 float acceleration; //!< the acceleration of the player. 66 float rotorspeed; //!< the speed of the rotor.67 float tailrotorspeed; //!< the relativ speed ot the tail rotor66 //float rotorspeed; //!< the speed of the rotor. 67 //float tailrotorspeed; //!< the relativ speed ot the tail rotor 68 68 69 69 float airViscosity; -
branches/spaceshipcontrol/src/world_entities/space_ships/space_ship.cc
r6444 r6497 292 292 293 293 //hoover effect 294 cycle += time;295 this->shiftCoor(Vector(0,1,0)*cos(this->cycle*2.0)*0.02);294 //cycle += time; 295 //this->shiftCoor(Vector(0,1,0)*cos(this->cycle*2.0)*0.02); 296 296 297 297 //readjust
Note: See TracChangeset
for help on using the changeset viewer.