annotate paper_shooting/resources/combat_plane.js @ 25:158b846e3874

paper
author <e085737>
date Mon, 14 Feb 2011 16:37:16 +0900
parents
children 943490f525c5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
<e085737>
parents:
diff changeset
1 createPlane = function(sgroot, w, h){
<e085737>
parents:
diff changeset
2 var player = new sgroot.createSceneGraph3();
<e085737>
parents:
diff changeset
3 player.set_move_collision(no_move_idle, no_collision_idle);
<e085737>
parents:
diff changeset
4
<e085737>
parents:
diff changeset
5 var my_bullet = new sgroot.createSceneGraph3();
<e085737>
parents:
diff changeset
6 my_bullet.set_move_collision(no_move_idle, no_collision_idle);
<e085737>
parents:
diff changeset
7 my_bullet.name = 'bullet';
<e085737>
parents:
diff changeset
8 player.addChild(my_bullet)
<e085737>
parents:
diff changeset
9 sgroot.nodeLocate(sgroot, 'my_bullet', my_bullet);
<e085737>
parents:
diff changeset
10
<e085737>
parents:
diff changeset
11
<e085737>
parents:
diff changeset
12 var combat_plane = new sgroot.createSceneGraph3()
<e085737>
parents:
diff changeset
13 combat_plane.xyz[0] = 45;
<e085737>
parents:
diff changeset
14 combat_plane.xyz[1] = 65;
<e085737>
parents:
diff changeset
15 combat_plane.xyz[2] = 0;
<e085737>
parents:
diff changeset
16 position_xyz[0] = combat_plane.xyz[0];
<e085737>
parents:
diff changeset
17 position_xyz[1] = combat_plane.xyz[1];
<e085737>
parents:
diff changeset
18 position_xyz[2] = combat_plane.xyz[2];
<e085737>
parents:
diff changeset
19 aim_xyz[0] = position_xyz[0];
<e085737>
parents:
diff changeset
20 aim_xyz[1] = position_xyz[1];
<e085737>
parents:
diff changeset
21 aim_xyz[2] = position_xyz[2] + 1;
<e085737>
parents:
diff changeset
22 cameraAngle_xyz[0] = 0;
<e085737>
parents:
diff changeset
23 cameraAngle_xyz[1] = 0;
<e085737>
parents:
diff changeset
24 cameraAngle_xyz[2] = 0;
<e085737>
parents:
diff changeset
25 player.addChild(combat_plane);
<e085737>
parents:
diff changeset
26 sgroot.nodeLocate(sgroot, 'Player', combat_plane);
<e085737>
parents:
diff changeset
27
<e085737>
parents:
diff changeset
28
<e085737>
parents:
diff changeset
29 combat_plane.scale = 0.05
<e085737>
parents:
diff changeset
30 combat_plane.set_move_collision(plane_move, combat_collision_3d)
<e085737>
parents:
diff changeset
31 combat_plane.limit_side = 75;
<e085737>
parents:
diff changeset
32 combat_plane.limit_wide = 125;
<e085737>
parents:
diff changeset
33 combat_plane.my_bullet = my_bullet;
<e085737>
parents:
diff changeset
34 combat_plane.enemy = sgroot.list['Enemy_main'];
<e085737>
parents:
diff changeset
35 combat_plane.enemy_bullet = sgroot.list['Enemy_bullet'];
<e085737>
parents:
diff changeset
36
<e085737>
parents:
diff changeset
37
<e085737>
parents:
diff changeset
38
<e085737>
parents:
diff changeset
39 var main = new sgroot.createSceneGraph1("chest_center_B")
<e085737>
parents:
diff changeset
40 main.angle[0] = -90
<e085737>
parents:
diff changeset
41 main.angle[1] = 200
<e085737>
parents:
diff changeset
42 main.angle[2] = -90
<e085737>
parents:
diff changeset
43 main.set_move_collision(main_move, no_collision_idle)
<e085737>
parents:
diff changeset
44 main.id = null;
<e085737>
parents:
diff changeset
45 position = 0;
<e085737>
parents:
diff changeset
46 position_wide = 0;
<e085737>
parents:
diff changeset
47 combat_plane.addChild(main)
<e085737>
parents:
diff changeset
48
<e085737>
parents:
diff changeset
49
<e085737>
parents:
diff changeset
50
<e085737>
parents:
diff changeset
51 var parts1 = new sgroot.createSceneGraph1("chest_center_B.001")
<e085737>
parents:
diff changeset
52 var parts2 = new sgroot.createSceneGraph1("chest_center_B.002")
<e085737>
parents:
diff changeset
53 var parts3 = new sgroot.createSceneGraph1("chest_center_B.003")
<e085737>
parents:
diff changeset
54 var parts4 = new sgroot.createSceneGraph1("chest_center_B.004")
<e085737>
parents:
diff changeset
55 var parts5 = new sgroot.createSceneGraph1("chest_center_B.005")
<e085737>
parents:
diff changeset
56 var parts6 = new sgroot.createSceneGraph1("chest_center_B.006")
<e085737>
parents:
diff changeset
57 var parts7 = new sgroot.createSceneGraph1("chest_center_B.007")
<e085737>
parents:
diff changeset
58 var parts8 = new sgroot.createSceneGraph1("chest_center_B.008")
<e085737>
parents:
diff changeset
59 var parts9 = new sgroot.createSceneGraph1("chest_center_B.009")
<e085737>
parents:
diff changeset
60 var parts10 = new sgroot.createSceneGraph1("chest_center_B.010")
<e085737>
parents:
diff changeset
61 var parts11 = new sgroot.createSceneGraph1("chest_center_B.011")
<e085737>
parents:
diff changeset
62 var parts12 = new sgroot.createSceneGraph1("chest_center_B.012")
<e085737>
parents:
diff changeset
63 var parts13 = new sgroot.createSceneGraph1("chest_center_B.013")
<e085737>
parents:
diff changeset
64 var parts14 = new sgroot.createSceneGraph1("chest_center_B.014")
<e085737>
parents:
diff changeset
65 var parts15 = new sgroot.createSceneGraph1("chest_center_B.015")
<e085737>
parents:
diff changeset
66 var parts16 = new sgroot.createSceneGraph1("chest_center_B.016")
<e085737>
parents:
diff changeset
67 var parts17 = new sgroot.createSceneGraph1("chest_center_B.017")
<e085737>
parents:
diff changeset
68 var parts18 = new sgroot.createSceneGraph1("chest_center_B.018")
<e085737>
parents:
diff changeset
69 var parts19 = new sgroot.createSceneGraph1("chest_center_B.019")
<e085737>
parents:
diff changeset
70 var parts20 = new sgroot.createSceneGraph1("chest_center_B.020")
<e085737>
parents:
diff changeset
71 var parts21 = new sgroot.createSceneGraph1("chest_center_B.021")
<e085737>
parents:
diff changeset
72 var parts22 = new sgroot.createSceneGraph1("chest_center_B.022")
<e085737>
parents:
diff changeset
73 var parts23 = new sgroot.createSceneGraph1("chest_center_B.023")
<e085737>
parents:
diff changeset
74 var parts24 = new sgroot.createSceneGraph1("chest_center_B.024")
<e085737>
parents:
diff changeset
75 var parts25 = new sgroot.createSceneGraph1("chest_center_B.025")
<e085737>
parents:
diff changeset
76 var parts26 = new sgroot.createSceneGraph1("chest_center_B.026")
<e085737>
parents:
diff changeset
77 var parts27 = new sgroot.createSceneGraph1("chest_center_B.027")
<e085737>
parents:
diff changeset
78 var parts28 = new sgroot.createSceneGraph1("chest_center_B.028")
<e085737>
parents:
diff changeset
79 var parts29 = new sgroot.createSceneGraph1("chest_center_B.029")
<e085737>
parents:
diff changeset
80 var parts30 = new sgroot.createSceneGraph1("chest_center_B.030")
<e085737>
parents:
diff changeset
81 var parts31 = new sgroot.createSceneGraph1("chest_center_B.031")
<e085737>
parents:
diff changeset
82 var parts32 = new sgroot.createSceneGraph1("chest_center_B.032")
<e085737>
parents:
diff changeset
83 var parts33 = new sgroot.createSceneGraph1("chest_center_B.033")
<e085737>
parents:
diff changeset
84 var parts34 = new sgroot.createSceneGraph1("chest_center_B.034")
<e085737>
parents:
diff changeset
85 var parts35 = new sgroot.createSceneGraph1("chest_center_B.035")
<e085737>
parents:
diff changeset
86 var parts36 = new sgroot.createSceneGraph1("chest_center_B.036")
<e085737>
parents:
diff changeset
87 var parts37 = new sgroot.createSceneGraph1("chest_center_B.037")
<e085737>
parents:
diff changeset
88 var parts38 = new sgroot.createSceneGraph1("chest_center_B.038")
<e085737>
parents:
diff changeset
89 var parts39 = new sgroot.createSceneGraph1("chest_center_B.039")
<e085737>
parents:
diff changeset
90 var parts40 = new sgroot.createSceneGraph1("chest_center_B.040")
<e085737>
parents:
diff changeset
91 var parts41 = new sgroot.createSceneGraph1("chest_center_B.041")
<e085737>
parents:
diff changeset
92 var parts42 = new sgroot.createSceneGraph1("chest_center_B.042")
<e085737>
parents:
diff changeset
93 var parts43 = new sgroot.createSceneGraph1("chest_center_B.043")
<e085737>
parents:
diff changeset
94 var parts44 = new sgroot.createSceneGraph1("chest_center_B.044")
<e085737>
parents:
diff changeset
95 var parts45 = new sgroot.createSceneGraph1("chest_center_B.045")
<e085737>
parents:
diff changeset
96 var parts46 = new sgroot.createSceneGraph1("chest_center_B.046")
<e085737>
parents:
diff changeset
97 var parts47 = new sgroot.createSceneGraph1("chest_center_B.047")
<e085737>
parents:
diff changeset
98 var parts48 = new sgroot.createSceneGraph1("chest_center_B.048")
<e085737>
parents:
diff changeset
99 var parts49 = new sgroot.createSceneGraph1("chest_center_B.049")
<e085737>
parents:
diff changeset
100 var parts50 = new sgroot.createSceneGraph1("chest_center_B.050")
<e085737>
parents:
diff changeset
101 var parts51 = new sgroot.createSceneGraph1("chest_center_B.051")
<e085737>
parents:
diff changeset
102 var parts52 = new sgroot.createSceneGraph1("chest_center_B.052")
<e085737>
parents:
diff changeset
103 var parts53 = new sgroot.createSceneGraph1("chest_center_B.053")
<e085737>
parents:
diff changeset
104 var parts54 = new sgroot.createSceneGraph1("chest_center_B.054")
<e085737>
parents:
diff changeset
105 var parts55 = new sgroot.createSceneGraph1("chest_center_B.055")
<e085737>
parents:
diff changeset
106 var parts56 = new sgroot.createSceneGraph1("chest_center_B.056")
<e085737>
parents:
diff changeset
107 var parts57 = new sgroot.createSceneGraph1("chest_center_B.057")
<e085737>
parents:
diff changeset
108 var parts58 = new sgroot.createSceneGraph1("chest_center_B.058")
<e085737>
parents:
diff changeset
109 var parts59 = new sgroot.createSceneGraph1("chest_center_B.059")
<e085737>
parents:
diff changeset
110 var parts60 = new sgroot.createSceneGraph1("chest_center_B.060")
<e085737>
parents:
diff changeset
111 var parts61 = new sgroot.createSceneGraph1("chest_center_B.061")
<e085737>
parents:
diff changeset
112 var parts62 = new sgroot.createSceneGraph1("chest_center_B.062")
<e085737>
parents:
diff changeset
113 var parts63 = new sgroot.createSceneGraph1("chest_center_B.063")
<e085737>
parents:
diff changeset
114 var parts64 = new sgroot.createSceneGraph1("chest_center_B.064")
<e085737>
parents:
diff changeset
115 var parts65 = new sgroot.createSceneGraph1("chest_center_B.065")
<e085737>
parents:
diff changeset
116 var parts66 = new sgroot.createSceneGraph1("chest_center_B.066")
<e085737>
parents:
diff changeset
117 var parts67 = new sgroot.createSceneGraph1("chest_center_B.067")
<e085737>
parents:
diff changeset
118 var parts68 = new sgroot.createSceneGraph1("chest_center_B.068")
<e085737>
parents:
diff changeset
119 var parts69 = new sgroot.createSceneGraph1("chest_center_B.069")
<e085737>
parents:
diff changeset
120 var parts70 = new sgroot.createSceneGraph1("chest_center_B.070")
<e085737>
parents:
diff changeset
121 var parts71 = new sgroot.createSceneGraph1("chest_center_B.071")
<e085737>
parents:
diff changeset
122 var parts72 = new sgroot.createSceneGraph1("chest_center_B.072")
<e085737>
parents:
diff changeset
123 var parts73 = new sgroot.createSceneGraph1("chest_center_B.073")
<e085737>
parents:
diff changeset
124 var parts74 = new sgroot.createSceneGraph1("chest_center_B.074")
<e085737>
parents:
diff changeset
125
<e085737>
parents:
diff changeset
126
<e085737>
parents:
diff changeset
127 main.addChild(parts1)
<e085737>
parents:
diff changeset
128 main.addChild(parts2)
<e085737>
parents:
diff changeset
129 main.addChild(parts3)
<e085737>
parents:
diff changeset
130 main.addChild(parts4)
<e085737>
parents:
diff changeset
131 main.addChild(parts5)
<e085737>
parents:
diff changeset
132 main.addChild(parts6)
<e085737>
parents:
diff changeset
133 main.addChild(parts7)
<e085737>
parents:
diff changeset
134 main.addChild(parts8)
<e085737>
parents:
diff changeset
135 main.addChild(parts9)
<e085737>
parents:
diff changeset
136 main.addChild(parts10)
<e085737>
parents:
diff changeset
137 main.addChild(parts11)
<e085737>
parents:
diff changeset
138 main.addChild(parts12)
<e085737>
parents:
diff changeset
139 main.addChild(parts13)
<e085737>
parents:
diff changeset
140 main.addChild(parts14)
<e085737>
parents:
diff changeset
141 main.addChild(parts15)
<e085737>
parents:
diff changeset
142 main.addChild(parts16)
<e085737>
parents:
diff changeset
143 main.addChild(parts17)
<e085737>
parents:
diff changeset
144 main.addChild(parts18)
<e085737>
parents:
diff changeset
145 main.addChild(parts19)
<e085737>
parents:
diff changeset
146 main.addChild(parts20)
<e085737>
parents:
diff changeset
147 main.addChild(parts21)
<e085737>
parents:
diff changeset
148 main.addChild(parts22)
<e085737>
parents:
diff changeset
149 main.addChild(parts23)
<e085737>
parents:
diff changeset
150 main.addChild(parts24)
<e085737>
parents:
diff changeset
151 main.addChild(parts25)
<e085737>
parents:
diff changeset
152 main.addChild(parts26)
<e085737>
parents:
diff changeset
153 main.addChild(parts27)
<e085737>
parents:
diff changeset
154 main.addChild(parts28)
<e085737>
parents:
diff changeset
155 main.addChild(parts29)
<e085737>
parents:
diff changeset
156 main.addChild(parts30)
<e085737>
parents:
diff changeset
157 main.addChild(parts31)
<e085737>
parents:
diff changeset
158 main.addChild(parts32)
<e085737>
parents:
diff changeset
159 main.addChild(parts33)
<e085737>
parents:
diff changeset
160 main.addChild(parts34)
<e085737>
parents:
diff changeset
161 main.addChild(parts35)
<e085737>
parents:
diff changeset
162 main.addChild(parts36)
<e085737>
parents:
diff changeset
163 main.addChild(parts37)
<e085737>
parents:
diff changeset
164 main.addChild(parts38)
<e085737>
parents:
diff changeset
165 main.addChild(parts39)
<e085737>
parents:
diff changeset
166 main.addChild(parts40)
<e085737>
parents:
diff changeset
167 main.addChild(parts41)
<e085737>
parents:
diff changeset
168 main.addChild(parts42)
<e085737>
parents:
diff changeset
169 main.addChild(parts43)
<e085737>
parents:
diff changeset
170 main.addChild(parts44)
<e085737>
parents:
diff changeset
171 main.addChild(parts45)
<e085737>
parents:
diff changeset
172 main.addChild(parts46)
<e085737>
parents:
diff changeset
173 main.addChild(parts47)
<e085737>
parents:
diff changeset
174 main.addChild(parts48)
<e085737>
parents:
diff changeset
175 main.addChild(parts49)
<e085737>
parents:
diff changeset
176 main.addChild(parts50)
<e085737>
parents:
diff changeset
177 main.addChild(parts51)
<e085737>
parents:
diff changeset
178 main.addChild(parts52)
<e085737>
parents:
diff changeset
179 main.addChild(parts53)
<e085737>
parents:
diff changeset
180 main.addChild(parts54)
<e085737>
parents:
diff changeset
181 main.addChild(parts55)
<e085737>
parents:
diff changeset
182 main.addChild(parts56)
<e085737>
parents:
diff changeset
183 main.addChild(parts57)
<e085737>
parents:
diff changeset
184 main.addChild(parts58)
<e085737>
parents:
diff changeset
185 main.addChild(parts59)
<e085737>
parents:
diff changeset
186 main.addChild(parts60)
<e085737>
parents:
diff changeset
187 main.addChild(parts61)
<e085737>
parents:
diff changeset
188 main.addChild(parts62)
<e085737>
parents:
diff changeset
189 main.addChild(parts63)
<e085737>
parents:
diff changeset
190 main.addChild(parts64)
<e085737>
parents:
diff changeset
191 main.addChild(parts65)
<e085737>
parents:
diff changeset
192 main.addChild(parts66)
<e085737>
parents:
diff changeset
193 main.addChild(parts67)
<e085737>
parents:
diff changeset
194 main.addChild(parts68)
<e085737>
parents:
diff changeset
195 main.addChild(parts69)
<e085737>
parents:
diff changeset
196 main.addChild(parts70)
<e085737>
parents:
diff changeset
197 main.addChild(parts71)
<e085737>
parents:
diff changeset
198 main.addChild(parts72)
<e085737>
parents:
diff changeset
199 main.addChild(parts73)
<e085737>
parents:
diff changeset
200 main.addChild(parts74)
<e085737>
parents:
diff changeset
201
<e085737>
parents:
diff changeset
202
<e085737>
parents:
diff changeset
203 return player
<e085737>
parents:
diff changeset
204
<e085737>
parents:
diff changeset
205 }
<e085737>
parents:
diff changeset
206
<e085737>
parents:
diff changeset
207
<e085737>
parents:
diff changeset
208
<e085737>
parents:
diff changeset
209 plane_move = function(node, sgroot, w ,h){
<e085737>
parents:
diff changeset
210 var move_eye = 1.0;
<e085737>
parents:
diff changeset
211 var move_walk = 3.0;
<e085737>
parents:
diff changeset
212 var PI = Math.PI;
<e085737>
parents:
diff changeset
213 var pad = new sgroot.getController();
<e085737>
parents:
diff changeset
214
<e085737>
parents:
diff changeset
215
<e085737>
parents:
diff changeset
216 if(pad.left_move_isHold() && node.xyz[0] >= -node.limit_side){
<e085737>
parents:
diff changeset
217
<e085737>
parents:
diff changeset
218 node.xyz[0] -= move_walk;
<e085737>
parents:
diff changeset
219 position += move_walk;
<e085737>
parents:
diff changeset
220 }
<e085737>
parents:
diff changeset
221
<e085737>
parents:
diff changeset
222 if(pad.right_move_isHold() && node.xyz[0] <= node.limit_side + 90){
<e085737>
parents:
diff changeset
223
<e085737>
parents:
diff changeset
224 node.xyz[0] += move_walk;
<e085737>
parents:
diff changeset
225 position -= move_walk;
<e085737>
parents:
diff changeset
226 }
<e085737>
parents:
diff changeset
227
<e085737>
parents:
diff changeset
228 if(pad.front_move_isHold() && node.xyz[1] >= 0){
<e085737>
parents:
diff changeset
229
<e085737>
parents:
diff changeset
230 node.xyz[1] -= move_walk;
<e085737>
parents:
diff changeset
231 }
<e085737>
parents:
diff changeset
232
<e085737>
parents:
diff changeset
233 if(pad.back_move_isHold() && node.xyz[1] <= 130){
<e085737>
parents:
diff changeset
234
<e085737>
parents:
diff changeset
235 node.xyz[1] += move_walk;
<e085737>
parents:
diff changeset
236 }
<e085737>
parents:
diff changeset
237
<e085737>
parents:
diff changeset
238 if(pad.start_isHold()){
<e085737>
parents:
diff changeset
239 var bullet_speed = 8;
<e085737>
parents:
diff changeset
240 var radian_xz = ((theta_xz%360)/360) * 2 * PI;
<e085737>
parents:
diff changeset
241 var radian_yz = ((cameraAngle_xyz[1]%90)/90) * (PI / 2);
<e085737>
parents:
diff changeset
242 var bullet = new sgroot.createSceneGraph1("yellow_3d");
<e085737>
parents:
diff changeset
243 bullet.xyz[0] = node.xyz[0];
<e085737>
parents:
diff changeset
244 bullet.xyz[1] = node.xyz[1];
<e085737>
parents:
diff changeset
245 bullet.xyz[2] = node.xyz[2];
<e085737>
parents:
diff changeset
246 bullet.dx = bullet_speed;
<e085737>
parents:
diff changeset
247 bullet.dy = 0.0;
<e085737>
parents:
diff changeset
248 bullet.dz = 0.0;
<e085737>
parents:
diff changeset
249 bullet.scale = 0.3;
<e085737>
parents:
diff changeset
250 bullet.enemy = node.enemy;
<e085737>
parents:
diff changeset
251 bullet.set_move_collision(bullet_move, no_collision_idle);
<e085737>
parents:
diff changeset
252 node.my_bullet.addChild(bullet);
<e085737>
parents:
diff changeset
253 }
<e085737>
parents:
diff changeset
254 }
<e085737>
parents:
diff changeset
255
<e085737>
parents:
diff changeset
256
<e085737>
parents:
diff changeset
257 rplane_move = function(node, sgroot, w ,h){
<e085737>
parents:
diff changeset
258 var move_eye = 1.0;
<e085737>
parents:
diff changeset
259 var move_walk = 3.0;
<e085737>
parents:
diff changeset
260 var PI = Math.PI;
<e085737>
parents:
diff changeset
261 var pad = new sgroot.getController();
<e085737>
parents:
diff changeset
262 var dx = position_xyz[0] - aim_xyz[0];
<e085737>
parents:
diff changeset
263 var dy = position_xyz[1] - aim_xyz[1];
<e085737>
parents:
diff changeset
264 var dz = position_xyz[2] - aim_xyz[2];
<e085737>
parents:
diff changeset
265 var d = Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2) + Math.pow(dz,2));
<e085737>
parents:
diff changeset
266
<e085737>
parents:
diff changeset
267
<e085737>
parents:
diff changeset
268 if(pad.left_move_isHold() && node.xyz[2] <= node.limit_wide){
<e085737>
parents:
diff changeset
269 var radian = (((theta_xz+90)%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
270
<e085737>
parents:
diff changeset
271 node.xyz[2] += move_walk;
<e085737>
parents:
diff changeset
272 position_wide -= move_walk;
<e085737>
parents:
diff changeset
273 }
<e085737>
parents:
diff changeset
274
<e085737>
parents:
diff changeset
275 if(pad.right_move_isHold() && node.xyz[2] >= -node.limit_wide){
<e085737>
parents:
diff changeset
276 var radian = (((theta_xz+90)%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
277
<e085737>
parents:
diff changeset
278 node.xyz[2] -= move_walk;
<e085737>
parents:
diff changeset
279 position_wide += move_walk;
<e085737>
parents:
diff changeset
280
<e085737>
parents:
diff changeset
281 }
<e085737>
parents:
diff changeset
282
<e085737>
parents:
diff changeset
283 if(pad.front_move_isHold() && node.xyz[1] >= 0){
<e085737>
parents:
diff changeset
284 var radian = ((theta_xz%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
285
<e085737>
parents:
diff changeset
286 node.xyz[1] -= move_walk;
<e085737>
parents:
diff changeset
287
<e085737>
parents:
diff changeset
288 }
<e085737>
parents:
diff changeset
289
<e085737>
parents:
diff changeset
290 if(pad.back_move_isHold() && node.xyz[1] <= 130){
<e085737>
parents:
diff changeset
291 var radian = ((theta_xz%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
292
<e085737>
parents:
diff changeset
293 node.xyz[1] += move_walk;
<e085737>
parents:
diff changeset
294
<e085737>
parents:
diff changeset
295 }
<e085737>
parents:
diff changeset
296
<e085737>
parents:
diff changeset
297 if(pad.start_isHold() && node.frame%2){
<e085737>
parents:
diff changeset
298 var bullet_speed = 8;
<e085737>
parents:
diff changeset
299 var bullet = new sgroot.createSceneGraph1("yellow_3d");
<e085737>
parents:
diff changeset
300 bullet.xyz[0] = node.xyz[0];
<e085737>
parents:
diff changeset
301 bullet.xyz[1] = node.xyz[1];
<e085737>
parents:
diff changeset
302 bullet.xyz[2] = node.xyz[2];
<e085737>
parents:
diff changeset
303 bullet.dx = bullet_speed;
<e085737>
parents:
diff changeset
304 bullet.dy = 0.0;
<e085737>
parents:
diff changeset
305 bullet.dz = 0.0;
<e085737>
parents:
diff changeset
306 bullet.scale = 0.3;
<e085737>
parents:
diff changeset
307 bullet.set_move_collision(bullet_move, no_collision_idle);
<e085737>
parents:
diff changeset
308 node.my_bullet.addChild(bullet);
<e085737>
parents:
diff changeset
309 }
<e085737>
parents:
diff changeset
310 }
<e085737>
parents:
diff changeset
311
<e085737>
parents:
diff changeset
312 main_move = function(node, sgroot, w, h){
<e085737>
parents:
diff changeset
313 var move_eye = 3.0;
<e085737>
parents:
diff changeset
314 var PI = Math.PI;
<e085737>
parents:
diff changeset
315 var pad = new sgroot.getController();
<e085737>
parents:
diff changeset
316 var dx = node.parents.xyz[0] - position_xyz[0];
<e085737>
parents:
diff changeset
317 var dy = node.parents.xyz[1] - position_xyz[1];
<e085737>
parents:
diff changeset
318 var dz = node.parents.xyz[2] - position_xyz[2];
<e085737>
parents:
diff changeset
319 var d = 170
<e085737>
parents:
diff changeset
320 var radian_xz = ((theta_xz%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
321 var radian_yz = ((theta_yz%360) / 360) * 2 * PI;
<e085737>
parents:
diff changeset
322
<e085737>
parents:
diff changeset
323 if(!node.flag_rotate && theta_xz <= 90){
<e085737>
parents:
diff changeset
324 //theta_xz = 90
<e085737>
parents:
diff changeset
325 theta_xz += move_eye*2;
<e085737>
parents:
diff changeset
326
<e085737>
parents:
diff changeset
327 var mv_x = d * Math.cos(radian_xz);
<e085737>
parents:
diff changeset
328 var mv_z = d * Math.sin(radian_xz);
<e085737>
parents:
diff changeset
329
<e085737>
parents:
diff changeset
330 position_xyz[0] = node.parents.xyz[0] - mv_x + position;
<e085737>
parents:
diff changeset
331 position_xyz[2] = node.parents.xyz[2] - mv_z;
<e085737>
parents:
diff changeset
332 aim_xyz[0] = position_xyz[0];
<e085737>
parents:
diff changeset
333 aim_xyz[2] = position_xyz[2] + 1;
<e085737>
parents:
diff changeset
334 console.log(position_xyz[0]);
<e085737>
parents:
diff changeset
335
<e085737>
parents:
diff changeset
336 cameraAngle_xyz[1] -= move_eye*2;
<e085737>
parents:
diff changeset
337 }
<e085737>
parents:
diff changeset
338
<e085737>
parents:
diff changeset
339 if(node.flag_rotate && theta_xz >= 0){
<e085737>
parents:
diff changeset
340 theta_xz -= move_eye*2;
<e085737>
parents:
diff changeset
341
<e085737>
parents:
diff changeset
342 var mv_x = d * Math.cos(radian_xz);
<e085737>
parents:
diff changeset
343 var mv_z = d * Math.sin(radian_xz);
<e085737>
parents:
diff changeset
344
<e085737>
parents:
diff changeset
345 position_xyz[0] = node.parents.xyz[0] - mv_x;
<e085737>
parents:
diff changeset
346 position_xyz[2] = node.parents.xyz[2] - mv_z + position_wide;
<e085737>
parents:
diff changeset
347 aim_xyz[0] = position_xyz[0];
<e085737>
parents:
diff changeset
348 aim_xyz[2] = position_xyz[2] + 1;
<e085737>
parents:
diff changeset
349 console.log(position_xyz[0]);
<e085737>
parents:
diff changeset
350
<e085737>
parents:
diff changeset
351 cameraAngle_xyz[1] += move_eye*2;
<e085737>
parents:
diff changeset
352 }
<e085737>
parents:
diff changeset
353
<e085737>
parents:
diff changeset
354
<e085737>
parents:
diff changeset
355 if(-6 < theta_xz && theta_xz < 96){
<e085737>
parents:
diff changeset
356 sgroot.move_now = true;
<e085737>
parents:
diff changeset
357 }else{
<e085737>
parents:
diff changeset
358 sgroot.move_now = false;
<e085737>
parents:
diff changeset
359 }
<e085737>
parents:
diff changeset
360
<e085737>
parents:
diff changeset
361 if(pad.space_isHold() && !node.flag_reverse){
<e085737>
parents:
diff changeset
362 if(node.flag_rotate == false){
<e085737>
parents:
diff changeset
363 node.parents.set_move_collision(rplane_move, combat_collision_3d);
<e085737>
parents:
diff changeset
364 }else{
<e085737>
parents:
diff changeset
365 node.parents.xyz[2] = 0;
<e085737>
parents:
diff changeset
366 position_wide = 0;
<e085737>
parents:
diff changeset
367 node.parents.set_move_collision(plane_move, combat_collision_3d);
<e085737>
parents:
diff changeset
368 }
<e085737>
parents:
diff changeset
369 node.flag_rotate = !node.flag_rotate;
<e085737>
parents:
diff changeset
370 node.flag_reverse = true;
<e085737>
parents:
diff changeset
371 }
<e085737>
parents:
diff changeset
372 if(pad.space_isRelease()){
<e085737>
parents:
diff changeset
373 node.flag_reverse = false;
<e085737>
parents:
diff changeset
374 }
<e085737>
parents:
diff changeset
375 }
<e085737>
parents:
diff changeset
376
<e085737>
parents:
diff changeset
377
<e085737>
parents:
diff changeset
378
<e085737>
parents:
diff changeset
379 combat_collision_2d = function(node, sgroot, w, h){
<e085737>
parents:
diff changeset
380 for(num in node.enemy_bullet.child){
<e085737>
parents:
diff changeset
381 var margin = node.enemy_bullet.child[num].margin;
<e085737>
parents:
diff changeset
382 var dx = node.enemy_bullet.child[num].xyz[0] + margin - node.xyz[0];
<e085737>
parents:
diff changeset
383 var dy = node.enemy_bullet.child[num].xyz[1] - node.xyz[1];
<e085737>
parents:
diff changeset
384 var ddx = dx*dx;
<e085737>
parents:
diff changeset
385 var ddy = dy*dy;
<e085737>
parents:
diff changeset
386 var r = Math.sqrt(ddx+ddy);
<e085737>
parents:
diff changeset
387
<e085737>
parents:
diff changeset
388 if(r < 4 && !sgroot.move_now){
<e085737>
parents:
diff changeset
389 node.all_remove(node);
<e085737>
parents:
diff changeset
390 }
<e085737>
parents:
diff changeset
391 }
<e085737>
parents:
diff changeset
392 }
<e085737>
parents:
diff changeset
393
<e085737>
parents:
diff changeset
394 combat_collision_3d = function(node, sgroot, w, h){
<e085737>
parents:
diff changeset
395 for(num in node.enemy_bullet.child){
<e085737>
parents:
diff changeset
396 var margin = node.enemy_bullet.child[num].margin;
<e085737>
parents:
diff changeset
397 var dx = node.enemy_bullet.child[num].xyz[0] + margin - node.xyz[0];
<e085737>
parents:
diff changeset
398 var dy = node.enemy_bullet.child[num].xyz[1] - node.xyz[1];
<e085737>
parents:
diff changeset
399 var dz = node.enemy_bullet.child[num].xyz[2] - node.xyz[2];
<e085737>
parents:
diff changeset
400 var ddx = dx*dx;
<e085737>
parents:
diff changeset
401 var ddy = dy*dy;
<e085737>
parents:
diff changeset
402 var ddz = dz*dz;
<e085737>
parents:
diff changeset
403 //var r = Math.sqrt(ddx+ddy+ddz);
<e085737>
parents:
diff changeset
404 var r2 = ddx+ddy+ddz;
<e085737>
parents:
diff changeset
405
<e085737>
parents:
diff changeset
406 if(r2 < 16 && !sgroot.move_now){
<e085737>
parents:
diff changeset
407 var game = new sgroot.createSceneGraph1("Game");
<e085737>
parents:
diff changeset
408 game.xyz[0] = 10;
<e085737>
parents:
diff changeset
409 game.xyz[1] = 0;
<e085737>
parents:
diff changeset
410 game.xyz[2] = -50;
<e085737>
parents:
diff changeset
411 game.angle[0] = 90;
<e085737>
parents:
diff changeset
412 game.scale = 0.4;
<e085737>
parents:
diff changeset
413 game.restart = sg_exec_tree;
<e085737>
parents:
diff changeset
414 game.set_move_collision(no_move_idle, game_over_collision);
<e085737>
parents:
diff changeset
415
<e085737>
parents:
diff changeset
416 var over = new sgroot.createSceneGraph1("Over");
<e085737>
parents:
diff changeset
417 over.xyz[0] = 0;
<e085737>
parents:
diff changeset
418 over.xyz[1] = 0;
<e085737>
parents:
diff changeset
419 over.xyz[2] =-80;
<e085737>
parents:
diff changeset
420 over.set_move_collision(no_move_idle, no_collision_idle);
<e085737>
parents:
diff changeset
421
<e085737>
parents:
diff changeset
422 game.addChild(over);
<e085737>
parents:
diff changeset
423 node.all_remove(node);
<e085737>
parents:
diff changeset
424 sgroot.setSceneData(game);
<e085737>
parents:
diff changeset
425 }
<e085737>
parents:
diff changeset
426 }
<e085737>
parents:
diff changeset
427 }
<e085737>
parents:
diff changeset
428
<e085737>
parents:
diff changeset
429
<e085737>
parents:
diff changeset
430
<e085737>
parents:
diff changeset
431
<e085737>
parents:
diff changeset
432