]>
Dogcows Code - chaz/yoink/blob - src/Heroine.cc
4ca4ce8702006cd46bd55c79ec5465d71f947fda
2 /*] Copyright (c) 2009-2011, Charles McGarvey [*****************************
3 **] All rights reserved.
5 * Distributable under the terms and conditions of the 2-clause BSD license;
6 * see the file COPYING for a complete text of the license.
8 *****************************************************************************/
10 #include <moof/log.hh>
11 #include <moof/sound.hh>
17 Character("Heroine") {}
19 void Heroine::update(moof::scalar t
, moof::scalar dt
)
21 Character::update(t
, dt
);
23 moof::vector3
at(0.0, 0.0, 0.0);
24 const moof::vector3
up(0.0, 1.0, 0.0);
26 if (state_
.velocity
[0] < 0.0) at
[0] = -1.0;
29 moof::sound::listener_position(moof::promote(state_
.position
));
30 moof::sound::listener_velocity(moof::promote(state_
.velocity
));
31 moof::sound::listener_orientation(at
, up
);
34 bool Heroine::handle_event(const moof::event
& event
)
36 moof::scalar force
= 40.0;
41 if (event
.key
.keysym
.sym
== SDLK_a
)
43 state_
.force
+= moof::vector2(-force
, 0.0);
46 else if (event
.key
.keysym
.sym
== SDLK_d
)
48 state_
.force
+= moof::vector2(force
, 0.0);
51 else if (event
.key
.keysym
.sym
== SDLK_s
)
53 state_
.force
+= moof::vector2(0.0, -force
);
56 else if (event
.key
.keysym
.sym
== SDLK_w
)
58 state_
.force
+= moof::vector2(0.0, force
);
64 if (event
.key
.keysym
.sym
== SDLK_a
)
66 state_
.force
+= moof::vector2(force
, 0.0);
69 else if (event
.key
.keysym
.sym
== SDLK_d
)
71 state_
.force
+= moof::vector2(-force
, 0.0);
74 else if (event
.key
.keysym
.sym
== SDLK_s
)
76 state_
.force
+= moof::vector2(0.0, force
);
79 else if (event
.key
.keysym
.sym
== SDLK_w
)
81 state_
.force
+= moof::vector2(0.0, -force
);
This page took 0.035629 seconds and 4 git commands to generate.