X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FCharacter.cc;h=ac5f8bcb6693349b44679613279465f36fdd7546;hp=c7de260d6cb61190e5ceaf60b2be6701b455f309;hb=25aefe01ef7dbdb603c51411e04b0d6a6107684f;hpb=d50942708db230dc5c43b8df89ede45525e1c394 diff --git a/src/Character.cc b/src/Character.cc index c7de260..ac5f8bc 100644 --- a/src/Character.cc +++ b/src/Character.cc @@ -56,6 +56,16 @@ Character::Character(const std::string& name) : void Character::update(Mf::Scalar t, Mf::Scalar dt) { previous = current; + + Mf::Vector2 x = current.position - Mf::Vector2(500.0, 200.0); + Mf::Scalar mag = x.length(); + Mf::Scalar d = 50.0; + + current.force = -5 * (current.position - Mf::Vector2(500.0, 200.0)) + - 2.0 * current.velocity; + current.recalculate(); + std::cout << "force: " << current.momentum << std::endl; + Mf::integrate(current, t, dt); animation_.update(t, dt); @@ -87,38 +97,38 @@ void Character::handleEvent(const Mf::Event& event) case SDL_KEYDOWN: if (event.key.keysym.sym == SDLK_a) { - current.force += left; + userForce += left; } else if (event.key.keysym.sym == SDLK_d) { - current.force += right; + userForce += right; } else if (event.key.keysym.sym == SDLK_s) { - current.force += down; + userForce += down; } else if (event.key.keysym.sym == SDLK_w) { - current.force += up; + userForce += up; } break; case SDL_KEYUP: if (event.key.keysym.sym == SDLK_a) { - current.force -= left; + userForce -= left; } else if (event.key.keysym.sym == SDLK_d) { - current.force -= right; + userForce -= right; } else if (event.key.keysym.sym == SDLK_s) { - current.force -= down; + userForce -= down; } else if (event.key.keysym.sym == SDLK_w) { - current.force -= up; + userForce -= up; } break; } @@ -152,6 +162,17 @@ void Character::draw(Mf::Scalar alpha) const glTexCoord2f(coords[6], coords[7]); glVertex3(state.position[0]-s, state.position[1]+s, z); glEnd(); + + glColor3f(0.0f, 0.0f, 0.0f); + Mf::Texture::resetBind(); + + glBegin(GL_TRIANGLES); + glVertex3(480.0, 190.0, 64.0); + glVertex3(520.0, 190.0, 64.0); + glVertex3(500.0, 210.0, 64.0); + glEnd(); + + glColor3f(1.0f, 1.0f, 1.0f); }