]>
Dogcows Code - chaz/yoink/blob - src/Heroine.cc
2 /*] Copyright (c) 2009-2010, Charles McGarvey [**************************
3 **] All rights reserved.
7 * Distributable under the terms and conditions of the 2-clause BSD license;
8 * see the file COPYING for a complete text of the license.
10 **************************************************************************/
12 #include <Moof/Sound.hh>
19 Character("Heroine") {}
22 void Heroine::update(Mf::Scalar t
, Mf::Scalar dt
)
24 Character::update(t
, dt
);
26 Mf::Vector3
at(0.0, 0.0, 0.0);
27 const Mf::Vector3
up(0.0, 1.0, 0.0);
29 if (mState
.velocity
[0] < 0.0) at
[0] = -1.0;
32 Mf::Sound::setListenerPosition(Mf::promote(mState
.position
));
33 Mf::Sound::setListenerVelocity(Mf::promote(mState
.velocity
));
34 Mf::Sound::setListenerOrientation(at
, up
);
38 bool Heroine::handleEvent(const Mf::Event
& event
)
40 Mf::Scalar force
= 40.0;
45 if (event
.key
.keysym
.sym
== SDLK_a
)
47 mState
.force
+= Mf::Vector2(-force
, 0.0);
50 else if (event
.key
.keysym
.sym
== SDLK_d
)
52 mState
.force
+= Mf::Vector2(force
, 0.0);
55 else if (event
.key
.keysym
.sym
== SDLK_s
)
57 mState
.force
+= Mf::Vector2(0.0, -force
);
60 else if (event
.key
.keysym
.sym
== SDLK_w
)
62 mState
.force
+= Mf::Vector2(0.0, force
);
67 if (event
.key
.keysym
.sym
== SDLK_a
)
69 mState
.force
+= Mf::Vector2(force
, 0.0);
72 else if (event
.key
.keysym
.sym
== SDLK_d
)
74 mState
.force
+= Mf::Vector2(-force
, 0.0);
77 else if (event
.key
.keysym
.sym
== SDLK_s
)
79 mState
.force
+= Mf::Vector2(0.0, force
);
82 else if (event
.key
.keysym
.sym
== SDLK_w
)
84 mState
.force
+= Mf::Vector2(0.0, -force
);
This page took 0.036768 seconds and 4 git commands to generate.