diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2015-09-12 21:41:07 -0400 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2015-09-12 21:41:07 -0400 |
commit | 77a37a2f52fdfba1457acb93bc90ef792ae6f8fc (patch) | |
tree | 81644b9df2afe80c28e5a68b29b28c01a2744ec6 | |
parent | 930de7158b1d94b49334f33c915cd9e8712190ed (diff) |
fixed layer jump
-rw-r--r-- | src/UIClass.cpp | 23 | ||||
-rw-r--r-- | src/main.cpp | 2 |
2 files changed, 14 insertions, 11 deletions
diff --git a/src/UIClass.cpp b/src/UIClass.cpp index 18e273e..00456f5 100644 --- a/src/UIClass.cpp +++ b/src/UIClass.cpp @@ -4,6 +4,7 @@ extern Player player; extern World *currentWorld; void UIClass::handleEvents(){ + float thing; SDL_Event e; while(SDL_PollEvent(&e)){ switch(e.type){ @@ -21,20 +22,22 @@ void UIClass::handleEvents(){ player.loc.y += HLINE*1.2; player.vel.y += .004; } - if(e.key.keysym.sym == SDLK_i) + if(e.key.keysym.sym == SDLK_i){ if(currentWorld->behind){ - player.loc.x-=(currentWorld->getWidth()-currentWorld->behind->getWidth())/2; // Match player's location to new area - currentWorld=currentWorld->behind; // Go to new area - if(player.loc.x>-1+currentWorld->getWidth()) // Don't let player fall out of world if previous area was bigger - player.loc.x=-1+currentWorld->getWidth()-player.width-HLINE; + thing=(currentWorld->getWidth()-currentWorld->behind->getWidth())/2; + if(player.loc.x>thing-1&& + player.loc.x<thing-1+currentWorld->behind->getWidth()){ + player.loc.x-=thing; + currentWorld=currentWorld->behind; + } } - if(e.key.keysym.sym == SDLK_k) + } + if(e.key.keysym.sym == SDLK_k){ if(currentWorld->infront){ - player.loc.x+=(currentWorld->infront->getWidth()-currentWorld->getWidth())/2; // Match player's location to new area - currentWorld=currentWorld->infront; // Go to new area - if(player.loc.x>-1+currentWorld->getWidth()) // Don't let player fall out of world if previous area was bigger - player.loc.x=-1+currentWorld->getWidth()-player.width-HLINE; + player.loc.x+=(currentWorld->infront->getWidth()-currentWorld->getWidth())/2; + currentWorld=currentWorld->infront; } + } break; case SDL_KEYUP: if(e.key.keysym.sym == SDLK_d) player.right = false; diff --git a/src/main.cpp b/src/main.cpp index 93f7da1..593e125 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -76,7 +76,7 @@ int main(int argc,char **argv){ // Generate the world World *w=NULL,*w2=NULL; w2=new World(4,w,NULL); - w=new World(2,NULL,w2); + w=new World(10,NULL,w2); currentWorld=w; currentWorld->addLayer(3); |