Mercurial > hg > Members > e085711
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