annotate Renderer/test_render/direction.cpp @ 312:57530cb7f7d1

memMain tester
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 08 Jun 2009 23:19:11 +0900
parents 55ea4465b1a2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
1 #include "SceneGraphRoot.h"
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
2 #include "SGList.h"
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
3
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
4 static void
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
5 x_move(SceneGraphPtr node, int w, int h)
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
6 {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
7 Pad *pad = sgroot->getController();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
8
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
9 node->xyz[0] = w/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
10 node->xyz[1] = h/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
11
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
12 if (pad->circle.isPush() || pad->circle.isHold()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
13 node->angle[1] += 10.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
14 if (node->angle[1] > 360.0f) node->angle[1] = 0.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
15 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
16
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
17 if (pad->triangle.isPush() || pad->triangle.isHold()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
18 node->angle[0] += 10.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
19 if (node->angle[0] > 360.0f) node->angle[0] = 0.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
20 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
21
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
22 if (pad->start.isPush()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
23 node->angle[0] = 0.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
24 node->angle[1] = 90.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
25 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
26
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
27 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
28
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
29 static void
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
30 y_move(SceneGraphPtr node, int w, int h)
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
31 {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
32 Pad *pad = sgroot->getController();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
33
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
34 node->xyz[0] = w/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
35 node->xyz[1] = h/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
36
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
37 if (pad->cross.isPush() || pad->cross.isHold()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
38 node->angle[2] += 10.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
39 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
40
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
41 if (pad->square.isPush() || pad->square.isHold()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
42 node->angle[0] += 10.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
43 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
44
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
45 if (pad->start.isPush()) {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
46 node->angle[0] = 90.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
47 node->angle[1] = 0.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
48 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
49
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
50 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
51
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
52 static void
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
53 z_move(SceneGraphPtr node, int w, int h)
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
54 {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
55 node->xyz[0] = w/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
56 node->xyz[1] = h/2;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
57 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
58
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
59 static void
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
60 dir_collision(SceneGraphPtr node, int w, int h, SceneGraphPtr tree)
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
61 {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
62 }
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
63
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
64 void
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
65 direction_init(void)
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
66 {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
67 SceneGraphPtr dx;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
68 SceneGraphPtr dy;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
69 SceneGraphPtr dz;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
70 SceneGraphPtr back;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
71
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
72 sgroot->createFromXMLfile("xml_file/direction.xml");
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
73
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
74 dx = sgroot->createSceneGraph(Dirx);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
75 dy = sgroot->createSceneGraph(Diry);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
76 dz = sgroot->createSceneGraph(Dirz);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
77 back = sgroot->createSceneGraph();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
78
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
79 back->addChild(dx);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
80 back->addChild(dy);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
81 back->addChild(dz);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
82
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
83 dx->set_move_collision(x_move, dir_collision);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
84 dx->angle[1] = 90.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
85 dy->set_move_collision(y_move, dir_collision);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
86 dy->angle[0] = 90.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
87 dz->set_move_collision(z_move, dir_collision);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
88
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
89 back->angle[0] = 30.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
90 back->angle[1] = -30.0f;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
91
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
92 sgroot->setSceneData(back);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
93 }