annotate TaskManager/Test/test_render/node.cpp @ 356:5b995810b86a draft

merge heads
author aaa
date Fri, 17 Jul 2009 15:04:02 +0900
parents cfd20d609ace 69a9d1f91dc9
children ce86b0186a4a
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>
346
7e045a4cdb77 remove SceneGraph::createFromXMLfile
e065746@localhost.localdomain
parents: 143
diff changeset
2 #include "SceneGraphRoot.h"
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
3 #include "SceneGraph.h"
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
4 #include "xml_file/cube.h"
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
5
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
6 static void
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
7 cube_collision(SceneGraphPtr node, int screen_w, int screen_h,
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
8 SceneGraphPtr tree)
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
9 {
137
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
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
12 static void
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
13 cube_move2(SceneGraphPtr node, int screen_w, int screen_h)
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
14 {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
15 node->angle[1] += 1.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
16 if (node->angle[1] > 360.0f) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
17 node->angle[1] = 0.0f;
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
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
20 node->xyz[0] += node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
21 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
22 node->stack_xyz[0] = -node->stack_xyz[0];
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
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
25 node->xyz[1] += node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
26 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
27 node->stack_xyz[1] = -node->stack_xyz[1];
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
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
31 static void
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
32 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
33 {
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
34 node->angle[1] += 1.0f;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
35 if (node->angle[1] > 360.0f) {
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
36 node->angle[1] = 0.0f;
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
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
39 node->xyz[0] += node->stack_xyz[0];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
40 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
41 node->stack_xyz[0] = -node->stack_xyz[0];
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
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
44 node->xyz[1] += node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
45 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
46
140
67a5469dfef2 add Controller
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 139
diff changeset
47 // 実は微妙に意味が無い
353
69a9d1f91dc9 comment about srandom
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 346
diff changeset
48 // そうじゃなくて、やっちゃいけないことです。
69a9d1f91dc9 comment about srandom
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 346
diff changeset
49 // srandom(random());
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
50
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
51 SceneGraphPtr p = node->clone();
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
52 p->position_init();
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
53 node->addBrother(p);
142
dc68420f705f add xml
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 140
diff changeset
54 p->set_move_collision(cube_move2, cube_collision);
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
55 p->stack_xyz[0] = (float)(random() % 5);
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
56 p->stack_xyz[1] = (float)(random() % 5);
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
57 //p->xyz[0] = screen_w/2;
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
58 //p->xyz[1] = screen_h/2;
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
59 p->xyz[2] = node->xyz[2]+1000.0f;
138
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
60
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
61 node->stack_xyz[1] = -node->stack_xyz[1];
f35504025f73 オブジェクトを増やして複数の表示に成功。
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 137
diff changeset
62 }
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
63 }
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
64
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
65 void
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
66 node_init(void)
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
67 {
346
7e045a4cdb77 remove SceneGraph::createFromXMLfile
e065746@localhost.localdomain
parents: 143
diff changeset
68 sgroot->createFromXMLfile("xml_file/cube.xml");
143
9588726193e1 add xml
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 142
diff changeset
69 Cube->set_move_collision(cube_move, cube_collision);
139
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
70 Cube->stack_xyz[0] = 2.0f;
gongo@charles.cr.ie.u-ryukyu.ac.jp
parents: 138
diff changeset
71 Cube->stack_xyz[1] = 2.0f;
137
91c74dbc32e4 SceneGraphPack の代わりに、今は SceneGraph をそのまま使う様に設定。
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
72 }