diff 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
line wrap: on
line diff
--- a/webGL/dandy/resources/parse.js	Mon Jul 12 08:01:12 2010 +0900
+++ b/webGL/dandy/resources/parse.js	Thu Jul 15 07:08:37 2010 +0900
@@ -2,7 +2,12 @@
 {
 
     loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる
+    loadCharaXml(gl, "./xml2/enemy.xml");//gl.charaにxmlファイルの中身を入れる
+
     loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
+    loadEffectXml(gl, "./xml2/bullets.xml");//gl.effectにxmlファイルの中身をいれる
+
+
     loadBossXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる
 
     loadCharaXml(gl, "./xml/titlefont.xml");//gl.effectにxmlファイルの中身をいれる
@@ -11,8 +16,20 @@
     loadCharaXml(gl, "./xml/font_0.xml");//gl.effectにxmlファイルの中身をいれる
     loadCharaXml(gl, "./xml/font_1.xml");//gl.effectにxmlファイルの中身をいれる
     loadCharaXml(gl, "./xml/font_2.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_3.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_4.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_5.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_6.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_7.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_8.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_9.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_hige.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_1997yas_k.xml");//gl.effectにxmlファイルの中身をいれる
+    loadCharaXml(gl, "./xml/font_gameover.xml");//gl.effectにxmlファイルの中身をいれる
 
     jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル
+
+    gamesyokika();
     
     enemy = [];//敵の情報を入れておく配列を用意、グローバル
     pushEnemy(gl,enemy);//配列enemy[]に敵をpush
@@ -33,6 +50,8 @@
     //    pushEnemyBullets(gl, ebullets);
 }
 
+
+
 function loadCharaXml(gl,url)
 {
     if(gl.chara == undefined) gl.chara = new Object();
@@ -81,7 +100,7 @@
 function pushEnemy(gl, enemy)
 {
     enemy.push(gl.chara["meteo"]);
-    enemy.push(gl.chara["enemy_greenclab"]);
+    enemy.push(gl.chara["enemy_greencrab"]);
     enemy.push(gl.chara["missile"]);
     enemy.push(gl.chara["gunbattery"]);
     enemy.push(gl.effect["enemy_redbullet"]);
@@ -92,23 +111,21 @@
     enemy.push(gl.effect["tama_s_04"]);
     enemy.push(gl.effect["tama_l_02"]);
     enemy.push(gl.effect["tama_l_03"]);
-    enemy.push(gl.chara["meteo"]);
-
+    enemy.push(gl.chara["enemy_plane"]);
+    enemy.push(gl.chara["spacefish"]);
 }
 
 
 
 function pushPlayerBullets(gl,bullets)
 {
-    //    if(bullets == undefined) var bullets = [];
     bullets.push(gl.effect["bluebarrier"]);
+    bullets.push(gl.effect["lockon_sight"]);
+    bullets.push(gl.effect["bulebullet_right"]);
     bullets.push(gl.effect["bulebullet_left"]);
-    bullets.push(gl.effect["bulebullet_right"]);
     bullets.push(gl.effect["redbullet"]);
     bullets.push(gl.effect["greenbullet"]);
     bullets.push(gl.effect["lonlaser"]);
-
-    //    return bullets;
 }
 
 function pushBom(gl, bomImage)
@@ -140,16 +157,19 @@
     font.push(gl.chara["font_0"]);
     font.push(gl.chara["font_1"]);
     font.push(gl.chara["font_2"]);
-    font.push(gl.chara["font_2"]);
-    font.push(gl.chara["font_2"]);
-    font.push(gl.chara["font_0"]);
-    font.push(gl.chara["font_1"]);
-    font.push(gl.chara["font_2"]);
-    font.push(gl.chara["font_2"]);
-    font.push(gl.chara["font_2"]);
+    font.push(gl.chara["font_3"]);
+    font.push(gl.chara["font_4"]);
+    font.push(gl.chara["font_5"]);
+    font.push(gl.chara["font_6"]);
+    font.push(gl.chara["font_7"]);
+    font.push(gl.chara["font_8"]);
+    font.push(gl.chara["font_9"])
     font.push(gl.chara["titlefont"]);
     font.push(gl.chara["font_pushstart"]);
     font.push(gl.chara["font_superdandy"]);
+    font.push(gl.chara["font_hige"]);
+    font.push(gl.chara["font_font_1997yas_k"]);
+    font.push(gl.chara["font_gameover"]);
 }
 
 function PutSpriteF(ctx, x, y, scale, glObj)
@@ -190,4 +210,44 @@
     ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);
 
 
+}
+
+function PutSpriteLock(ctx, x, y, scale, angle,  glObj)
+{
+
+    // setup VBOs
+    ctx.enableVertexAttribArray(0);
+    ctx.enableVertexAttribArray(1);
+    ctx.enableVertexAttribArray(2);
+				
+    ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.vertexObject);
+    ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0);
+    ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject);
+    ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0);
+    
+    ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject);
+    ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0);
+				
+    ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject);
+
+    // generate the model-view matrix
+    var mvMatrix = new CanvasMatrix4();
+    mvMatrix.scale(scale, scale, scale);
+    mvMatrix.rotate(angle, 0, 0, 1);
+    mvMatrix.translate( x, y, 10);
+    
+    // construct the normal matrix from the model-view matrix
+    var normalMatrix = new CanvasMatrix4(mvMatrix);
+    normalMatrix.invert();
+    normalMatrix.transpose();
+    ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray());
+    
+    // construct the model-view * projection matrix
+    var mvpMatrix = new CanvasMatrix4(mvMatrix);
+    mvpMatrix.multRight(ctx.perspectiveMatrix);
+    ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsWebGLFloatArray());
+    
+    ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
+    ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);
+ 
 }
\ No newline at end of file