]>
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/log.hh>
13 #include <moof/sound.hh>
18 Character("Heroine") {}
21 void Heroine::update(moof::scalar t
, moof::scalar dt
)
23 Character::update(t
, dt
);
25 moof::vector3
at(0.0, 0.0, 0.0);
26 const moof::vector3
up(0.0, 1.0, 0.0);
28 if (state_
.velocity
[0] < 0.0) at
[0] = -1.0;
31 moof::sound::listener_position(moof::promote(state_
.position
));
32 moof::sound::listener_velocity(moof::promote(state_
.velocity
));
33 moof::sound::listener_orientation(at
, up
);
37 bool Heroine::handle_event(const moof::event
& event
)
39 moof::scalar force
= 40.0;
44 if (event
.key
.keysym
.sym
== SDLK_a
)
46 state_
.force
+= moof::vector2(-force
, 0.0);
49 else if (event
.key
.keysym
.sym
== SDLK_d
)
51 state_
.force
+= moof::vector2(force
, 0.0);
54 else if (event
.key
.keysym
.sym
== SDLK_s
)
56 state_
.force
+= moof::vector2(0.0, -force
);
59 else if (event
.key
.keysym
.sym
== SDLK_w
)
61 state_
.force
+= moof::vector2(0.0, force
);
66 if (event
.key
.keysym
.sym
== SDLK_a
)
68 state_
.force
+= moof::vector2(force
, 0.0);
71 else if (event
.key
.keysym
.sym
== SDLK_d
)
73 state_
.force
+= moof::vector2(-force
, 0.0);
76 else if (event
.key
.keysym
.sym
== SDLK_s
)
78 state_
.force
+= moof::vector2(0.0, force
);
81 else if (event
.key
.keysym
.sym
== SDLK_w
)
83 state_
.force
+= moof::vector2(0.0, -force
);
This page took 0.038149 seconds and 5 git commands to generate.