annotate TaskManager/Test/test_render/node.cpp @ 186:06cdf8baa989 draft

fix
author gongo@localhost.localdomain
date Tue, 06 Jan 2009 16:18:37 +0900
parents 9588726193e1
children 7e045a4cdb77 cfd20d609ace
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
1 #include <stdlib.h>
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
2 #include "SceneGraph.h"
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
3 #include "xml_file/cube.h"
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
4
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
5 static void
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
6 cube_collision(SceneGraphPtr node, int screen_w, int screen_h,
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
7 SceneGraphPtr tree)
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
8 {
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
9 }
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
10
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
11 static void
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
12 cube_move2(SceneGraphPtr node, int screen_w, int screen_h)
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
13 {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
14 node->angle[1] += 1.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
15 if (node->angle[1] > 360.0f) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
16 node->angle[1] = 0.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
17 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
18
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
19 node->xyz[0] += node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
20 if ((int)node->xyz[0] > screen_w || (int)node->xyz[0] < 0) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
21 node->stack_xyz[0] = -node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
22 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
23
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
24 node->xyz[1] += node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
25 if ((int)node->xyz[1] > screen_h || (int)node->xyz[1] < 0) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
26 node->stack_xyz[1] = -node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
27 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
28 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
29
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
30 static void
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
31 cube_move(SceneGraphPtr node, int screen_w, int screen_h)
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
32 {
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
33 node->angle[1] += 1.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
34 if (node->angle[1] > 360.0f) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
35 node->angle[1] = 0.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
36 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
37
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
38 node->xyz[0] += node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
39 if ((int)node->xyz[0] > screen_w || (int)node->xyz[0] < 0) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
40 node->stack_xyz[0] = -node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
41 }
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
42
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
43 node->xyz[1] += node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
44 if ((int)node->xyz[1] > screen_h || (int)node->xyz[1] < 0) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
45
140
67a5469dfef2 add Controller
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 139
diff changeset
46 // 実は微妙に意味が無い
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
47 srandom(random());
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
48
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
49 SceneGraphPtr p = node->clone();
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
50 p->position_init();
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
51 node->addBrother(p);
142
dc68420f705f add xml
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 140
diff changeset
52 p->set_move_collision(cube_move2, cube_collision);
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
53 p->stack_xyz[0] = (float)(random() % 5);
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
54 p->stack_xyz[1] = (float)(random() % 5);
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
55 //p->xyz[0] = screen_w/2;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
56 //p->xyz[1] = screen_h/2;
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
57 p->xyz[2] = node->xyz[2]+1000.0f;
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
58
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
59 node->stack_xyz[1] = -node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
60 }
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
61 }
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
62
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
63 void
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
64 node_init(void)
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
65 {
143
9588726193e1 add xml
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 142
diff changeset
66 SceneGraph::createFromXMLfile("xml_file/cube.xml");
9588726193e1 add xml
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 142
diff changeset
67 Cube->set_move_collision(cube_move, cube_collision);
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
68 Cube->stack_xyz[0] = 2.0f;
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
69 Cube->stack_xyz[1] = 2.0f;
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
70 }