Fixad FOV

Levelgen Spawnfrequency
This commit is contained in:
ViktorLjung
2014-03-14 00:57:52 +01:00
parent 11dd3ef7c3
commit 4b9cb71cca
6 changed files with 28 additions and 8 deletions
+2
View File
@@ -8,6 +8,8 @@ namespace Components
struct Camera : Component struct Camera : Component
{ {
Camera() : FOV(glm::radians(45.f)), NearClip(0.1f), FarClip(100.f) { }
float FOV; float FOV;
float NearClip; float NearClip;
float FarClip; float FarClip;
+1 -1
View File
@@ -65,7 +65,7 @@ void GameWorld::Initialize()
AddComponent<Components::Input>(entcamera, "Input"); AddComponent<Components::Input>(entcamera, "Input");
transform->Position = glm::vec3(0.f, 10.f, 14.f); transform->Position = glm::vec3(0.f, 10.f, 14.f);
camera = AddComponent<Components::Camera>(entcamera, "Camera"); camera = AddComponent<Components::Camera>(entcamera, "Camera");
camera->FOV = 45.f; camera->FOV = glm::radians(45.f);
camera->FarClip = 1000.f; camera->FarClip = 1000.f;
camera->NearClip = 0.01f; camera->NearClip = 0.01f;
transform->Orientation = glm::angleAxis<float>(glm::radians(15.0f),glm::vec3(1,0,0)); transform->Orientation = glm::angleAxis<float>(glm::radians(15.0f),glm::vec3(1,0,0));
@@ -8,6 +8,7 @@ Systems::LevelGenerationSystem::LevelGenerationSystem( World* world )
velocity = 0; velocity = 0;
startx = 0; startx = 0;
startyz = glm::vec2(0, -1000); startyz = glm::vec2(0, -1000);
spawnFrequency = 0.1f;
} }
void Systems::LevelGenerationSystem::SpawnObstacle() void Systems::LevelGenerationSystem::SpawnObstacle()
@@ -85,8 +86,9 @@ void Systems::LevelGenerationSystem::Update( double dt )
{ {
elapsedtime += dt; elapsedtime += dt;
spawnFrequency = velocity/1000;
if(elapsedtime > 0.1){ if(elapsedtime > spawnFrequency){
SpawnObstacle(); SpawnObstacle();
elapsedtime = 0; elapsedtime = 0;
} }
@@ -33,6 +33,7 @@ namespace Systems
float startx; float startx;
double elapsedtime; double elapsedtime;
float velocity; float velocity;
float spawnFrequency;
}; };
} }
+18 -6
View File
@@ -12,6 +12,7 @@ Systems::PlayerSystem::PlayerSystem( World* world ) : System(world)
freecamEnabled = false; freecamEnabled = false;
m_poweruptimeleft = 0; m_poweruptimeleft = 0;
m_basespeed = 100.f; m_basespeed = 100.f;
m_maxspeed = 100.f;
} }
void Systems::PlayerSystem::Update(double dt) void Systems::PlayerSystem::Update(double dt)
@@ -164,6 +165,7 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
//powerup //powerup
auto cameraEntity = m_World->GetProperty<EntityID>(entity, "Camera"); auto cameraEntity = m_World->GetProperty<EntityID>(entity, "Camera");
auto cameracamera = m_World->GetComponent<Components::Camera>(cameraEntity, "Camera"); auto cameracamera = m_World->GetComponent<Components::Camera>(cameraEntity, "Camera");
cameracamera->FOV = glm::radians(20.f + transform->Velocity.z/3 );
auto collisionComponent = m_World->GetComponent<Components::Collision>(entity, "Collision"); auto collisionComponent = m_World->GetComponent<Components::Collision>(entity, "Collision");
for(auto ent : collisionComponent->CollidingEntities) for(auto ent : collisionComponent->CollidingEntities)
@@ -172,19 +174,29 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
if(name == "PowerUp") if(name == "PowerUp")
{ {
auto powerupComp = m_World->GetComponent<Components::PowerUp>(ent, "PowerUp"); auto powerupComp = m_World->GetComponent<Components::PowerUp>(ent, "PowerUp");
transform->Velocity.z = powerupComp->Speed; m_maxspeed = powerupComp->Speed;
m_poweruptimeleft = 3.f; m_poweruptimeleft = 5.f;
m_World->RemoveEntity(ent); m_World->RemoveEntity(ent);
cameracamera->FOV = 55.f;
} }
} }
if(m_poweruptimeleft <= 0) if(m_poweruptimeleft <= 0)
{ {
transform->Velocity.z = m_basespeed; m_maxspeed = m_basespeed;
cameracamera->FOV = 45.f;
} }
if(transform->Velocity.z < m_maxspeed)
{
transform->Velocity.z += 100.f*dt;
if(transform->Velocity.z >= m_maxspeed)
transform->Velocity.z = m_maxspeed;
}
else if(transform->Velocity.z > m_maxspeed)
{
transform->Velocity.z -= 50.f*dt;
if(transform->Velocity.z <= m_maxspeed)
transform->Velocity.z = m_maxspeed;
}
// Update camera // Update camera
+3
View File
@@ -34,7 +34,10 @@ namespace Systems
glm::quat m_CameraOrientation; glm::quat m_CameraOrientation;
bool freecamEnabled; bool freecamEnabled;
float m_basespeed; float m_basespeed;
float m_maxspeed;
float m_poweruptimeleft; float m_poweruptimeleft;
}; };