Mercurial > hg > Members > e085722 > Cerium
annotate Renderer/Test_/camera_action.cc @ 4:b5b462ac9b3b
Cerium Blender ball_bound
author | Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 29 Nov 2010 16:42:42 +0900 |
parents | |
children |
rev | line source |
---|---|
4
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 #include "SceneGraphRoot.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 #include "SGList.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 #include "camera_action.h" |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 #define MOVE_SPEED 0.10 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 camera_init(SceneGraphPtr node, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 node->xyz[0] = screen_w/2; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 node->xyz[1] = screen_h/2 + 50; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 node->xyz[2] = 0; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 node->angle[0] = 120; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 c_move(SceneGraphPtr node, int screen_w, int screen_h) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 Pad *pad = sgroot->getController(); |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 if(pad->right.isHold()) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 if(node->xyz[0]>screen_w/2 - 50) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 node->xyz[0]-=MOVE_SPEED; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 if(pad->left.isHold()) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 if(node->xyz[0]<screen_w/2 + 50) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 node->xyz[0]+=MOVE_SPEED; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 if(pad->down.isHold()) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 if(node->xyz[2]>-25) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 node->xyz[2]-=MOVE_SPEED; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 if(pad->up.isHold()) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 if(node->xyz[2]<25) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 node->xyz[2]+=MOVE_SPEED; |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 } |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 void |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 camera_collision(SceneGraphPtr node, int screen_w, int screen_h,SceneGraphPtr tree) |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 { |
b5b462ac9b3b
Cerium Blender ball_bound
Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 } |