Changeset 9793 for code/branches/invaders
- Timestamp:
- Nov 18, 2013, 7:54:32 PM (11 years ago)
- Location:
- code/branches/invaders
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/invaders/data/levels/templates/enemyInvader.oxt
r9777 r9793 1 1 <Template name=enemyinvader> 2 <Invader Ship2 <InvaderEnemy 3 3 hudtemplate = spaceshiphud 4 4 camerapositiontemplate = spaceshipescortcameras … … 34 34 35 35 collisionType = "dynamic" 36 mass = 0.0000136 mass = 5 37 37 linearDamping = 0 38 38 angularDamping = 0 39 40 collisiondamage = 100 41 enablecollisiondamage = true 39 42 > 40 43 <engines> … … 59 62 include("../includes/invaderWeapon.oxi") 60 63 ?> 61 </Invader Ship>64 </InvaderEnemy> 62 65 </Template> 63 66 64 < Template name=spaceshipescortcameras defaults=0>65 <Invader Ship>67 <!-- <Template name=spaceshipescortcameras defaults=0> 68 <InvaderEnemy> 66 69 <camerapositions> 67 <!--<CameraPosition position="0,15, 60" drag=true mouselook=true />70 <CameraPosition position="0,15, 60" drag=true mouselook=true /> 68 71 <CameraPosition position="0,20, 90" drag=true mouselook=true /> 69 <CameraPosition position="0,30,120" drag=true mouselook=true /> -->72 <CameraPosition position="0,30,120" drag=true mouselook=true /> 70 73 <CameraPosition position="0,300,-100" direction="0, -1, 0" drag=false mouselook=true /> 71 74 </camerapositions> 72 </Invader Ship>73 </Template> 75 </InvaderEnemy> 76 </Template> --> 74 77 75 78 <Template name=spaceshipescortengine baseclass=MultiStateEngine> -
code/branches/invaders/src/modules/invader/Invader.cc
r9777 r9793 47 47 #include "InvaderCenterPoint.h" 48 48 #include "InvaderShip.h" 49 #include "InvaderEnemy.h" 49 50 50 51 #include "core/command/ConsoleCommand.h" … … 79 80 return; 80 81 81 Pawn* newPawn = new Pawn(this->center_->getContext());82 InvaderEnemy* newPawn = new InvaderEnemy(this->center_->getContext()); 82 83 newPawn->addTemplate("enemyinvader"); 83 84 -
code/branches/invaders/src/modules/invader/InvaderShip.cc
r9777 r9793 56 56 void InvaderShip::tick(float dt) 57 57 { 58 // if (camera == NULL) 59 // camera = this->getCamera(); 60 // if (camera != NULL) 61 // camera->setPosition(Vector3(0, 0, 0) + this->getWorldPosition()); 58 Vector3 pos = getPosition(); 62 59 60 //Movement calculation 61 lastTimeFront += dt * damping; 62 lastTimeLeft += dt * damping; 63 lastTime += dt; 64 65 velocity.x = interpolate(clamp(lastTimeLeft, 0.0f, 1.0f), desiredVelocity.x, 0.0f); 66 velocity.y = interpolate(clamp(lastTimeFront, 0.0f, 1.0f), desiredVelocity.y, 0.0f); 67 68 //Execute movement 63 69 if (this->hasLocalController()) 64 70 { 65 this->setVelocity(Vector3(1000 + velocity.y, 0, velocity.x)); // 66 //this->setVelocity(this->getOrientation() * Vector3(1, 0, 0)); 71 float dist_y = velocity.y * dt; 72 if(dist_y + posforeward > -42*3 && dist_y + posforeward < 42*6) 73 posforeward += dist_y; 74 else 75 velocity.y = 0; 76 // this->setVelocity(Vector3(1000 + velocity.y, 0, velocity.x)); 77 pos += Vector3(1000 + velocity.y, 0, velocity.x) * dt; 67 78 } 68 lastTimeFront += dt * damping;69 lastTimeLeft += dt * damping;70 velocity.x = interpolate(clamp(lastTimeLeft, 0.0f, 1.0f), desiredVelocity.x, 0.0f);71 velocity.y = interpolate(clamp(lastTimeFront, 0.0f, 1.0f), desiredVelocity.y, 0.0f);72 79 73 80 if (isFireing) 74 81 ControllableEntity::fire(0); 75 82 76 if (getPosition().x > 30000) 83 // Camera 84 Camera* camera = this->getCamera(); 85 if (camera != NULL) 77 86 { 78 //level++ 79 setPosition(getPosition() - Vector3(30000, 0, 0)); 87 camera->setPosition(Vector3(-pos.z, -posforeward, 0)); 88 camera->setOrientation(Vector3::UNIT_Z, Degree(90)); 89 // orxout() << "asbhajskjasjahg" << pos << endl; 80 90 } 81 91 82 // if ((int(getPosition().x) % 1000) < 5) 92 93 94 // bring back on track! 95 if (pos.z > 42*2.5) 96 pos.z = 42*2.5; 97 else if (pos.z < -42*3) 98 pos.z = -42*3; 99 if(pos.y != 0) 100 pos.y = 0; 101 // if (camera != NULL) 83 102 // { 84 // for (ObjectList<Invader>::iterator it = ObjectList<Invader>::begin(); it != ObjectList<Invader>::end(); ++it) 85 // it->spawnEnemy(); 103 // float x = camera->getWorldPosition().x; 104 // if (pos.x > x + 20) 105 // pos.x = x + 20; 106 // else if (pos.x < x - 20) 107 // pos.x = x - 20; 86 108 // } 109 // if (abs(posforeward) < 20) 110 87 111 88 // camera->setOrientation(Vector3::UNIT_X, Degree(0)); 112 setPosition(pos); 113 setOrientation(Vector3::UNIT_Y, Degree(270)); 89 114 115 // Level up! 116 if (pos.x > 30000) 117 { 118 updateLevel(); 119 setPosition(Vector3(0, 0, 0)); // pos - Vector3(30000, 0, 0) 120 } 90 121 91 122 SUPER(InvaderShip, tick, dt); 92 123 } 93 124 94 125 void InvaderShip::updateLevel() 126 { 127 lastTime = 0; 128 //level++ 129 } 95 130 96 131 void InvaderShip::moveFrontBack(const Vector2& value) 97 132 { 98 // orxout(internal_error) << "move backfront" << value.x << value.y << endl; 99 //velocity.y = value.y * speed * 10; 100 lastTimeFront = 0; 101 desiredVelocity.y = value.y * speed * 10; 133 lastTimeLeft = 0; 134 desiredVelocity.x = -value.x * speed; 102 135 } 103 136 104 137 void InvaderShip::moveRightLeft(const Vector2& value) 105 138 { 106 // orxout(internal_error) << "right left front" << value.x << value.y << endl; 107 lastTimeLeft = 0; 108 desiredVelocity.x = value.x * speed; 109 // velocity.x = value.x * speed; 139 lastTimeFront = 0; 140 desiredVelocity.y = value.y * speed * 42; 110 141 } 111 142 void InvaderShip::boost(bool bBoost) -
code/branches/invaders/src/modules/invader/InvaderShip.h
r9777 r9793 60 60 virtual void rotateRoll(const Vector2& value){}; 61 61 62 virtual void updateLevel(); 63 62 64 // *InvaderShip getShip(){return this;} 63 65 private: 64 66 Camera* camera; 65 67 bool isFireing; 66 float speed, damping ;67 float lastTimeFront, lastTimeLeft ;68 float speed, damping, posforeward; 69 float lastTimeFront, lastTimeLeft, lastTime; 68 70 struct Velocity 69 71 {
Note: See TracChangeset
for help on using the changeset viewer.