annotate Renderer/test_render/direction.cpp @ 327:c8edba9cabb7 draft

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