• Content count

  • Joined

  • Last visited

Community Reputation

106 Neutral

About mcjohnalds45

  • Rank
  1. Thanks heaps [url=""]JTippetts[/url], fixed the problem!
  2. I'm trying to find the angle aimDirection with this code. [CODE] aimDirection = atan2(mouseY - vertical centre of box, mouseX - horizontal centre of box) * 180 / pi; // what I'm doing in english [/CODE] [CODE] aimDirection = atan2((double)(mouseY - hitBox.y + (hitBox.h / 2)), (double)(mouseX - hitBox.x + (hitBox.w / 2))) * 180 / M_PI; // actual code [/CODE] I thought you could use atan2 like so to find an angle, maybe I'm wrong. [CODE] angle = atan2(y2 - y1, x2 - x1) * 180 / pi. [/CODE] I don't know how to describe the situation clearly so I made a pretty picture instead. [img][/img] But the angle is never what I expect (depending on where I move my mouse vs the middle of the box) when I run the program. (Sorry if I don't reply till tomorrow, it's getting late and I don't want to be drowsy for school [img][/img])
  3. The non-capital events was valid because I had left accidentally left a variable that I wasn't using any more in my Player class definition, if I had remembered to delete that I wouldn't have had a problem, anyway, thanks a lot!
  4. Problem solved, I made stupid mistake, I was using 'events' in my onEvent function instead of 'Events', thanks heaps for pointing that out. (Note to self: Never code at 1 am ever again!)
  5. First post, hooray! I'm trying to call onEvent (a function of my player class) every time I call SDL_PollEvent in my game loop to move my player up when I press W. Part of player definition. [CODE] void Player::onEvent(SDL_Event Events) { if (events.type == SDL_KEYDOWN) { switch (Events.key.keysym.sym) { case SDLK_w: ySpeed = -maxSpeed; break; } } if (events.type == SDL_KEYUP) { switch (Events.key.keysym.sym) { case SDLK_w: ySpeed = 0; break; } } } [/CODE] Part of my main function where onEvent is called. [CODE] while (SDL_PollEvent(&events)) { if (events.type == SDL_QUIT) run = false; player.onEvent(events); } [/CODE] I expect my player to move up when I press W but it does not, I am almost certain there is something wrong with onEvent's definition or how I am calling it because changing the above piece of code to the following makes the program run as expected. [CODE] while (SDL_PollEvent(&events)) { if (events.type == SDL_QUIT) run = false; if (events.type == SDL_KEYDOWN) { switch (events.key.keysym.sym) { case SDLK_w: player.ySpeed = -player.maxSpeed; break; } } if (events.type == SDL_KEYUP) { switch (events.key.keysym.sym) { case SDLK_w: player.ySpeed = 0; break; } } } [/CODE] Sorry for goofing up any terminology, I'm pretty new to c++.