comparison webGL/dandy/resources/parse.js~ @ 12:61febc94fa62

upload dandy4.html,new xmlFile
author NOBUYASU Oshiro
date Thu, 15 Jul 2010 07:08:37 +0900
parents 680b5b0cd1e4
children 4684e849866c
comparison
equal deleted inserted replaced
11:680b5b0cd1e4 12:61febc94fa62
3 3
4 loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる 4 loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる
5 loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる 5 loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
6 loadBossXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる 6 loadBossXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる
7 7
8 loadCharaXml(gl, "./xml/titlefont.xml");//gl.effectにxmlファイルの中身をいれる
9 loadCharaXml(gl, "./xml/font_pushstart.xml");//gl.effectにxmlファイルの中身をいれる
10 loadCharaXml(gl, "./xml/font_superdandy.xml");//gl.effectにxmlファイルの中身をいれる
11 loadCharaXml(gl, "./xml/font_0.xml");//gl.effectにxmlファイルの中身をいれる
12 loadCharaXml(gl, "./xml/font_1.xml");//gl.effectにxmlファイルの中身をいれる
13 loadCharaXml(gl, "./xml/font_2.xml");//gl.effectにxmlファイルの中身をいれる
14 loadCharaXml(gl, "./xml/font_3.xml");//gl.effectにxmlファイルの中身をいれる
15 loadCharaXml(gl, "./xml/font_4.xml");//gl.effectにxmlファイルの中身をいれる
16 loadCharaXml(gl, "./xml/font_5.xml");//gl.effectにxmlファイルの中身をいれる
17 loadCharaXml(gl, "./xml/font_6.xml");//gl.effectにxmlファイルの中身をいれる
18 loadCharaXml(gl, "./xml/font_7.xml");//gl.effectにxmlファイルの中身をいれる
19 loadCharaXml(gl, "./xml/font_8.xml");//gl.effectにxmlファイルの中身をいれる
20 loadCharaXml(gl, "./xml/font_9.xml");//gl.effectにxmlファイルの中身をいれる
21 loadCharaXml(gl, "./xml/font_hige.xml");//gl.effectにxmlファイルの中身をいれる
22 loadCharaXml(gl, "./xml/font_1997yas_k.xml");//gl.effectにxmlファイルの中身をいれる
23 loadCharaXml(gl, "./xml/font_gameover.xml");//gl.effectにxmlファイルの中身をいれる
24
8 jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル 25 jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル
9 26
10 enemy = [];//敵の情報を入れておく配列を用意、グローバル 27 enemy = [];//敵の情報を入れておく配列を用意、グローバル
11 pushEnemy(gl,enemy);//配列enemy[]に敵をpush 28 pushEnemy(gl,enemy);//配列enemy[]に敵をpush
12 pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush 29 // pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush
13 30
14 boss = [];//bossの情報を入れておく配列を用意,グローバル 31 boss = [];//bossの情報を入れておく配列を用意,グローバル
15 pushBoss(gl, boss);//配列boss[]にbossの情報をpush 32 pushBoss(gl, boss);//配列boss[]にbossの情報をpush
16 33
17 bullets = [];//弾の情報を入れておく配列を用意、グローバル 34 bullets = [];//弾の情報を入れておく配列を用意、グローバル
18 pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush 35 pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush
19 36
20 bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル 37 bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル
21 pushBom(gl, bomImage);//配列 bom[]に爆発をpush 38 pushBom(gl, bomImage);//配列 bom[]に爆発をpush
22 39
40 font = [];//fontを入れておく配列
41 pushFont(gl, font);//
23 // ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル 42 // ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル
24 // pushEnemyBullets(gl, ebullets); 43 // pushEnemyBullets(gl, ebullets);
25 } 44 }
26 45
27 function loadCharaXml(gl,url) 46 function loadCharaXml(gl,url)
69 } 88 }
70 89
71 90
72 function pushEnemy(gl, enemy) 91 function pushEnemy(gl, enemy)
73 { 92 {
93 enemy.push(gl.chara["meteo"]);
74 enemy.push(gl.chara["enemy_greenclab"]); 94 enemy.push(gl.chara["enemy_greenclab"]);
75 enemy.push(gl.chara["missile"]); 95 enemy.push(gl.chara["missile"]);
76 enemy.push(gl.chara["gunbattery"]); 96 enemy.push(gl.chara["gunbattery"]);
97 enemy.push(gl.effect["enemy_redbullet"]);
98 enemy.push(gl.effect["enemy_bluebullet"]);
99 enemy.push(gl.effect["tama_s_01"]);
100 enemy.push(gl.effect["tama_s_02"]);
101 enemy.push(gl.effect["tama_s_03"]);
102 enemy.push(gl.effect["tama_s_04"]);
103 enemy.push(gl.effect["tama_l_02"]);
104 enemy.push(gl.effect["tama_l_03"]);
77 enemy.push(gl.chara["meteo"]); 105 enemy.push(gl.chara["meteo"]);
106
78 } 107 }
79 108
80 109
81 110
82 function pushPlayerBullets(gl,bullets) 111 function pushPlayerBullets(gl,bullets)
86 bullets.push(gl.effect["bulebullet_left"]); 115 bullets.push(gl.effect["bulebullet_left"]);
87 bullets.push(gl.effect["bulebullet_right"]); 116 bullets.push(gl.effect["bulebullet_right"]);
88 bullets.push(gl.effect["redbullet"]); 117 bullets.push(gl.effect["redbullet"]);
89 bullets.push(gl.effect["greenbullet"]); 118 bullets.push(gl.effect["greenbullet"]);
90 bullets.push(gl.effect["lonlaser"]); 119 bullets.push(gl.effect["lonlaser"]);
120
91 // return bullets; 121 // return bullets;
92 } 122 }
93 123
94 function pushBom(gl, bomImage) 124 function pushBom(gl, bomImage)
95 { 125 {
112 ebullets.push(gl.effect["tama_s_03"]); 142 ebullets.push(gl.effect["tama_s_03"]);
113 ebullets.push(gl.effect["tama_s_04"]); 143 ebullets.push(gl.effect["tama_s_04"]);
114 ebullets.push(gl.effect["tama_l_02"]); 144 ebullets.push(gl.effect["tama_l_02"]);
115 ebullets.push(gl.effect["tama_l_03"]); 145 ebullets.push(gl.effect["tama_l_03"]);
116 } 146 }
147
148 function pushFont(gl, font)
149 {
150 font.push(gl.chara["font_0"]);
151 font.push(gl.chara["font_1"]);
152 font.push(gl.chara["font_2"]);
153 font.push(gl.chara["font_3"]);
154 font.push(gl.chara["font_4"]);
155 font.push(gl.chara["font_5"]);
156 font.push(gl.chara["font_6"]);
157 font.push(gl.chara["font_7"]);
158 font.push(gl.chara["font_8"]);
159 font.push(gl.chara["font_9"])
160 font.push(gl.chara["titlefont"]);
161 font.push(gl.chara["font_pushstart"]);
162 font.push(gl.chara["font_superdandy"]);
163 font.push(gl.chara["font_hige"]);
164 font.push(gl.chara["font_font_1997yas_k"]);
165 font.push(gl.chara["font_gameover"]);
166 }
167
168 function PutSpriteF(ctx, x, y, scale, glObj)
169 {
170
171 // setup VBOs
172 ctx.enableVertexAttribArray(0);
173 ctx.enableVertexAttribArray(1);
174 ctx.enableVertexAttribArray(2);
175
176 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.vertexObject);
177 ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0);
178 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject);
179 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0);
180
181 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject);
182 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0);
183
184 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject);
185
186 // generate the model-view matrix
187 var mvMatrix = new CanvasMatrix4();
188 mvMatrix.scale(scale, scale, scale);
189 mvMatrix.translate( x, y, 10);
190
191 // construct the normal matrix from the model-view matrix
192 var normalMatrix = new CanvasMatrix4(mvMatrix);
193 normalMatrix.invert();
194 normalMatrix.transpose();
195 ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray());
196
197 // construct the model-view * projection matrix
198 var mvpMatrix = new CanvasMatrix4(mvMatrix);
199 mvpMatrix.multRight(ctx.perspectiveMatrix);
200 ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsWebGLFloatArray());
201
202 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
203 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);
204
205
206 }