Mercurial > hg > Members > e105716
comparison fps/resources/parse.js~ @ 0:fbb6f4f89f76
info3_1week
author | Syusaku Morita <e105716@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 27 Apr 2012 13:13:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:fbb6f4f89f76 |
---|---|
1 function parseXml(gl) | |
2 { | |
3 loadObjXml(gl, "./xml/effect.xml");//gl.objにxmlファイルの中身をいれる | |
4 | |
5 loadObjXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる | |
6 | |
7 loadObjXml(gl, "./xml/titlefont.xml");//gl.objにxmlファイルの中身をいれる | |
8 loadObjXml(gl, "./xml/font_pushstart.xml");//gl.objにxmlファイルの中身をいれる | |
9 loadObjXml(gl, "./xml/font_superdandy.xml");//gl.objにxmlファイルの中身をいれる | |
10 loadObjXml(gl, "./xml/font_0.xml");//gl.objにxmlファイルの中身をいれる | |
11 loadObjXml(gl, "./xml/font_1.xml");//gl.objにxmlファイルの中身をいれる | |
12 loadObjXml(gl, "./xml/font_2.xml");//gl.objにxmlファイルの中身をいれる | |
13 loadObjXml(gl, "./xml/font_3.xml");//gl.objにxmlファイルの中身をいれる | |
14 loadObjXml(gl, "./xml/font_4.xml");//gl.objにxmlファイルの中身をいれる | |
15 loadObjXml(gl, "./xml/font_5.xml");//gl.objにxmlファイルの中身をいれる | |
16 loadObjXml(gl, "./xml/font_6.xml");//gl.objにxmlファイルの中身をいれる | |
17 loadObjXml(gl, "./xml/font_7.xml");//gl.objにxmlファイルの中身をいれる | |
18 loadObjXml(gl, "./xml/font_8.xml");//gl.objにxmlファイルの中身をいれる | |
19 loadObjXml(gl, "./xml/font_9.xml");//gl.objにxmlファイルの中身をいれる | |
20 loadObjXml(gl, "./xml/font_hige.xml");//gl.objにxmlファイルの中身をいれる | |
21 loadObjXml(gl, "./xml/font_1997yas_k.xml");//gl.objにxmlファイルの中身をいれる | |
22 loadObjXml(gl, "./xml/font_gameover.xml");//gl.objにxmlファイルの中身をいれる | |
23 | |
24 loadObjXml(gl, "./xml2/bullets.xml");//gl.objにxmlファイルの中身をいれる | |
25 loadObjXml(gl, "./xml2/enemy.xml");//gl.objにxmlファイルの中身を入れる | |
26 loadObjXml(gl, "./xml2/player.xml");//gl.objにxmlファイルの中身を入れる | |
27 loadObjXml(gl, "./xml2/redbomb_anim.xml");//gl.objにxmlファイルの中身を入れる | |
28 loadObjXml(gl, "./xml2/boss1.xml");//gl.objにxmlファイルの中身を入れる | |
29 loadObjXml(gl, "./xml2/boss2.xml");//gl.objにxmlファイルの中身を入れる | |
30 | |
31 jiki = new makePlayer(gl.obj);//自機の情報をいれておくクラス、グローバル | |
32 | |
33 gamesyokika(); | |
34 | |
35 enemy = [];//敵の情報を入れておく配列を用意、グローバル | |
36 pushEnemy(gl,enemy);//配列enemy[]に敵をpush | |
37 // pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush | |
38 | |
39 boss = [];//bossの情報を入れておく配列を用意,グローバル | |
40 pushBoss(gl, boss);//配列boss[]にbossの情報をpush | |
41 | |
42 bullets = [];//弾の情報を入れておく配列を用意、グローバル | |
43 pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush | |
44 | |
45 bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル | |
46 pushBom(gl, bomImage);//配列 bom[]に爆発をpush | |
47 | |
48 font = [];//fontを入れておく配列 | |
49 pushFont(gl, font);// | |
50 // ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル | |
51 // pushEnemyBullets(gl, ebullets); | |
52 } | |
53 | |
54 | |
55 function loadObjXml(gl,url) | |
56 { | |
57 if(gl.obj == undefined) gl.obj = new Object(); | |
58 var xmlChara = new Object(); | |
59 xmlChara = parsePanel(url); | |
60 for (var name in xmlChara) | |
61 { | |
62 gl.obj[name] = makeXmlObj(gl, xmlChara[name]); | |
63 gl.obj[name].texture = loadImageTexture(gl, xmlChara[name].image); | |
64 } | |
65 } | |
66 | |
67 function pushBoss(gl, boss) | |
68 { | |
69 | |
70 boss.push(gl.obj["blackhole"]); | |
71 boss.push(gl.obj["boss_orgun"]);//透過ずみ | |
72 boss.push(gl.obj["boss2_dummy"]); | |
73 boss.push(gl.obj["boss2_rightpalm"]); | |
74 boss.push(gl.obj["boss2_lefthand"]); | |
75 boss.push(gl.obj["boss2_left_s_gird"]); | |
76 boss.push(gl.obj["boss3_body"]); | |
77 boss.push(gl.obj["boss_4"]); | |
78 boss.push(gl.obj["boss_corpse"]); | |
79 boss.push(gl.obj["boss2_righthand"]); | |
80 boss.push(gl.obj["boss2_openbattery"]); | |
81 boss.push(gl.obj["boss2_rightarm_b"]); | |
82 boss.push(gl.obj["boss2_leftpalm"]); | |
83 boss.push(gl.obj["boss2_leftarm"]);//以下透過ずみ | |
84 boss.push(gl.obj["boss2_rightarm"]); | |
85 boss.push(gl.obj["boss2_leftshoulder"]); | |
86 boss.push(gl.obj["boss2_left_s_up"]); | |
87 boss.push(gl.obj["boss2_battery"]); | |
88 boss.push(gl.obj["boss2_brokenhatch"]); | |
89 boss.push(gl.obj["boss2_leftbattery"]); | |
90 boss.push(gl.obj["boss2_r_shoulderup"]); | |
91 boss.push(gl.obj["boss2_body"]); | |
92 boss.push(gl.obj["boss2_rightshoulder"]); | |
93 } | |
94 | |
95 | |
96 function pushEnemy(gl, enemy) | |
97 { | |
98 enemy.push(gl.obj["missile"]); | |
99 enemy.push(gl.obj["enemy_greencrab"]); | |
100 enemy.push(gl.obj["enemy_plane"]); | |
101 enemy.push(gl.obj["gunbattery"]); | |
102 enemy.push(gl.obj["enemy_redbullet"]); | |
103 enemy.push(gl.obj["enemy_bluebullet"]); | |
104 enemy.push(gl.obj["tama_s_01"]); | |
105 enemy.push(gl.obj["tama_s_02"]); | |
106 enemy.push(gl.obj["tama_s_03"]); | |
107 enemy.push(gl.obj["meteo"]); | |
108 enemy.push(gl.obj["tama_l_02"]); | |
109 enemy.push(gl.obj["tama_l_03"]); | |
110 enemy.push(gl.obj["enemy_lightning"]); | |
111 enemy.push(gl.obj["enemy_lasersplosh.001"]); | |
112 enemy.push(gl.obj["enemy_lasersplosh.002"]); | |
113 enemy.push(gl.obj["enemy_lasersplosh.003"]); | |
114 enemy.push(gl.obj["missile"]); | |
115 enemy.push(gl.obj["spacefish"]); | |
116 enemy.push(gl.obj["tama_s_04"]); | |
117 } | |
118 | |
119 | |
120 | |
121 function pushPlayerBullets(gl,bullets) | |
122 { | |
123 bullets.push(gl.obj["bluebarrier"]); | |
124 bullets.push(gl.obj["lockon_sight"]); | |
125 bullets.push(gl.obj["bulebullet_right"]); | |
126 bullets.push(gl.obj["bulebullet_left"]); | |
127 bullets.push(gl.obj["redbullet"]); | |
128 bullets.push(gl.obj["greenbullet"]); | |
129 bullets.push(gl.obj["lonlaser"]); | |
130 } | |
131 | |
132 function pushBom(gl, bomImage) | |
133 { | |
134 bomImage.push(gl.obj["redbomb_anim_0"]); | |
135 bomImage.push(gl.obj["redbomb_anim_1"]); | |
136 bomImage.push(gl.obj["redbomb_anim_2"]); | |
137 bomImage.push(gl.obj["redbomb_anim_3"]); | |
138 bomImage.push(gl.obj["redbomb_anim_4"]); | |
139 bomImage.push(gl.obj["redbomb_anim_5"]); | |
140 bomImage.push(gl.obj["redbomb_anim_6"]); | |
141 bomImage.push(gl.obj["redbomb_anim_7"]); | |
142 } | |
143 | |
144 function pushEnemyBullets(gl, ebullets) | |
145 { | |
146 ebullets.push(gl.obj["enemy_redbullet"]); | |
147 ebullets.push(gl.obj["enemy_bluebullet"]); | |
148 ebullets.push(gl.obj["tama_s_01"]); | |
149 ebullets.push(gl.obj["tama_s_02"]); | |
150 ebullets.push(gl.obj["tama_s_03"]); | |
151 ebullets.push(gl.obj["tama_s_04"]); | |
152 ebullets.push(gl.obj["tama_l_02"]); | |
153 ebullets.push(gl.obj["tama_l_03"]); | |
154 ebullets.push(gl.obj["tama_l_04"]); | |
155 } | |
156 | |
157 function pushFont(gl, font) | |
158 { | |
159 font.push(gl.obj["font_0"]); | |
160 font.push(gl.obj["font_1"]); | |
161 font.push(gl.obj["font_2"]); | |
162 font.push(gl.obj["font_3"]); | |
163 font.push(gl.obj["font_4"]); | |
164 font.push(gl.obj["font_5"]); | |
165 font.push(gl.obj["font_6"]); | |
166 font.push(gl.obj["font_7"]); | |
167 font.push(gl.obj["font_8"]); | |
168 font.push(gl.obj["font_9"]) | |
169 font.push(gl.obj["titlefont"]); | |
170 font.push(gl.obj["font_pushstart"]); | |
171 font.push(gl.obj["font_superdandy"]); | |
172 font.push(gl.obj["font_hige"]); | |
173 font.push(gl.obj["font_font_1997yas_k"]); | |
174 font.push(gl.obj["font_gameover"]); | |
175 } | |
176 | |
177 function PutSpriteF(ctx, x, y, scale, glObj) | |
178 { | |
179 | |
180 // setup VBOs | |
181 ctx.enableVertexAttribArray(0); | |
182 ctx.enableVertexAttribArray(1); | |
183 ctx.enableVertexAttribArray(2); | |
184 | |
185 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.vertexObject); | |
186 ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0); | |
187 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject); | |
188 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); | |
189 | |
190 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject); | |
191 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); | |
192 | |
193 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); | |
194 | |
195 | |
196 // generate the model-view matrix | |
197 var mvMatrix = new J3DIMatrix4(); | |
198 mvMatrix.scale(scale, scale, scale); | |
199 mvMatrix.translate( x, y, 10); | |
200 | |
201 // construct the normal matrix from the model-view matrix | |
202 var normalMatrix = new J3DIMatrix4(mvMatrix); | |
203 normalMatrix.invert(); | |
204 normalMatrix.transpose(); | |
205 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); | |
206 | |
207 // construct the model-view * projection matrix | |
208 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix); | |
209 mvpMatrix.multiply(mvMatrix); | |
210 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); | |
211 | |
212 | |
213 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); | |
214 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); | |
215 | |
216 | |
217 } | |
218 | |
219 function PutSpriteA(ctx, x, y, scale, angle, glObj) | |
220 { | |
221 | |
222 // setup VBOs | |
223 ctx.enableVertexAttribArray(0); | |
224 ctx.enableVertexAttribArray(1); | |
225 ctx.enableVertexAttribArray(2); | |
226 | |
227 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.vertexObject); | |
228 ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0); | |
229 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject); | |
230 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); | |
231 | |
232 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject); | |
233 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); | |
234 | |
235 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); | |
236 | |
237 // generate the model-view matrix | |
238 var mvMatrix = new J3DIMatrix4(); | |
239 mvMatrix.scale(scale, scale, scale); | |
240 mvMatrix.translate( x, y, 10); | |
241 mvMatrix.rotate(angle, 0, 0, 1); | |
242 | |
243 // construct the normal matrix from the model-view matrix | |
244 var normalMatrix = new J3DIMatrix4(mvMatrix); | |
245 normalMatrix.invert(); | |
246 normalMatrix.transpose(); | |
247 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); | |
248 | |
249 // construct the model-view * projection matrix | |
250 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix); | |
251 mvpMatrix.multiply(mvMatrix); | |
252 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); | |
253 | |
254 | |
255 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); | |
256 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); | |
257 | |
258 } |