# HG changeset patch
# User NOBUYASU Oshiro
# Date 1287918494 -32400
# Node ID 1f234cbb53f111e84786fcf688708218fcb66dcd
# Parent 222c5c84325aa7250804c4c2d28d5b8be17cbee1
update Lockon Sight
diff -r 222c5c84325a -r 1f234cbb53f1 webGL/dandy/dandy5.html
--- a/webGL/dandy/dandy5.html Mon Oct 18 17:07:04 2010 +0900
+++ b/webGL/dandy/dandy5.html Sun Oct 24 20:08:14 2010 +0900
@@ -1,32 +1,8 @@
-
+
+
WebGL dandy
diff -r 222c5c84325a -r 1f234cbb53f1 webGL/dandy/resources/parse.js
--- a/webGL/dandy/resources/parse.js Mon Oct 18 17:07:04 2010 +0900
+++ b/webGL/dandy/resources/parse.js Sun Oct 24 20:08:14 2010 +0900
@@ -206,7 +206,7 @@
// construct the model-view * projection matrix
var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix);
mvpMatrix.multiply(mvMatrix);
- mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
+ mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
@@ -236,8 +236,8 @@
// generate the model-view matrix
var mvMatrix = new J3DIMatrix4();
mvMatrix.scale(scale, scale, scale);
+ mvMatrix.translate( x, y, 10);
mvMatrix.rotate(angle, 0, 0, 1);
- mvMatrix.translate( x, y, 10);
// construct the normal matrix from the model-view matrix
var normalMatrix = new J3DIMatrix4(mvMatrix);
@@ -247,8 +247,8 @@
normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false);
// construct the model-view * projection matrix
- var mvpMatrix = new J3DIMatrix4(mvMatrix);
- mvpMatrix.multiply(ctx.perspectiveMatrix);
+ var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix);
+ mvpMatrix.multiply(mvMatrix);
// ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsFloat32Array());
mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
diff -r 222c5c84325a -r 1f234cbb53f1 webGL/dandy/resources/parse.js~
--- a/webGL/dandy/resources/parse.js~ Mon Oct 18 17:07:04 2010 +0900
+++ b/webGL/dandy/resources/parse.js~ Sun Oct 24 20:08:14 2010 +0900
@@ -1,39 +1,34 @@
function parseXml(gl)
{
-
- // loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml/effect.xml");//gl.objにxmlファイルの中身をいれる
- loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
-
-
- loadCharaXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる
- loadCharaXml(gl, "./xml/titlefont.xml");//gl.effectにxmlファイルの中身をいれる
- loadCharaXml(gl, "./xml/font_pushstart.xml");//gl.effectにxmlファイルの中身をいれる
- loadCharaXml(gl, "./xml/font_superdandy.xml");//gl.effectにxmlファイルの中身をいれる
- 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ファイルの中身をいれる
+ loadObjXml(gl, "./xml/titlefont.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_pushstart.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_superdandy.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_0.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_1.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_2.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_3.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_4.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_5.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_6.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_7.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_8.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_9.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_hige.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_1997yas_k.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml/font_gameover.xml");//gl.objにxmlファイルの中身をいれる
- loadEffectXml(gl, "./xml2/bullets.xml");//gl.effectにxmlファイルの中身をいれる
- loadCharaXml(gl, "./xml2/enemy.xml");//gl.charaにxmlファイルの中身を入れる
- loadCharaXml(gl, "./xml2/player.xml");//gl.charaにxmlファイルの中身を入れる
- loadEffectXml(gl, "./xml2/redbomb_anim.xml");//gl.charaにxmlファイルの中身を入れる
- loadCharaXml(gl, "./xml2/boss1.xml");//gl.charaにxmlファイルの中身を入れる
- loadCharaXml(gl, "./xml2/boss2.xml");//gl.charaにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml2/bullets.xml");//gl.objにxmlファイルの中身をいれる
+ loadObjXml(gl, "./xml2/enemy.xml");//gl.objにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml2/player.xml");//gl.objにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml2/redbomb_anim.xml");//gl.objにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml2/boss1.xml");//gl.objにxmlファイルの中身を入れる
+ loadObjXml(gl, "./xml2/boss2.xml");//gl.objにxmlファイルの中身を入れる
-
- jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル
+ jiki = new makePlayer(gl.obj);//自機の情報をいれておくクラス、グローバル
gamesyokika();
@@ -57,156 +52,126 @@
}
-
-function loadCharaXml(gl,url)
+function loadObjXml(gl,url)
{
- if(gl.chara == undefined) gl.chara = new Object();
+ if(gl.obj == undefined) gl.obj = new Object();
var xmlChara = new Object();
xmlChara = parsePanel(url);
for (var name in xmlChara)
{
- gl.chara[name] = makeXmlObj(gl, xmlChara[name]);
- gl.chara[name].texture = loadImageTexture(gl, xmlChara[name].image);
+ gl.obj[name] = makeXmlObj(gl, xmlChara[name]);
+ gl.obj[name].texture = loadImageTexture(gl, xmlChara[name].image);
}
}
-function loadEffectXml(gl,url)
-{
- if(gl.effect == undefined)gl.effect = new Object();
- var xmlChara = new Object();
- xmlChara = parsePanel(url);
- for (var name in xmlChara)
- {
- gl.effect[name] = makeXmlObj(gl, xmlChara[name]);
- gl.effect[name].texture = loadImageTexture(gl, xmlChara[name].image);
- }
-}
-
-function loadBossXml(gl,url)
-{
- if(gl.boss == undefined)gl.boss = new Object();
- var xmlChara = new Object();
- xmlChara = parsePanel(url);
- for (var name in xmlChara)
- {
- gl.boss[name] = makeXmlObj(gl, xmlChara[name]);
- gl.boss[name].texture = loadImageTexture(gl, xmlChara[name].image);
- }
-}
-
function pushBoss(gl, boss)
{
- /*
- for(var name in gl.boss)
- {
- boss.push(gl.boss[name]);
- }
- */
- boss.push(gl.chara["blackhole"]);
- boss.push(gl.chara["boss2_body"]);
- boss.push(gl.chara["boss2_lefthand"]);
- boss.push(gl.chara["boss2_rightshoulder"]);
- boss.push(gl.chara["boss_orgun"]);
- boss.push(gl.chara["boss2_left_s_gird"]);
- boss.push(gl.chara["boss2_r_shoulderup"]);
- boss.push(gl.chara["boss2_leftbattery"]);
- boss.push(gl.chara["boss_corpse"]);
- boss.push(gl.chara["boss_4"]);
- boss.push(gl.chara["boss2_brokenhatch"]);
- boss.push(gl.chara["boss2_righthand"]);
- boss.push(gl.chara["boss2_openbattery"]);
- boss.push(gl.chara["boss2_battery"]);
- boss.push(gl.chara["boss2_rightarm_b"]);
- boss.push(gl.chara["boss2_leftpalm"]);
- boss.push(gl.chara["boss2_left_s_up"]);
- boss.push(gl.chara["boss2_leftshoulder"]);
- boss.push(gl.chara["boss3_body"]);
- boss.push(gl.chara["boss2_leftarm"]);
- boss.push(gl.chara["boss2_dummy"]);
- boss.push(gl.chara["boss2_rightpalm"]);
- boss.push(gl.chara["boss2_rightarm"]);
+
+ boss.push(gl.obj["blackhole"]);
+ boss.push(gl.obj["boss_orgun"]);//透過ずみ
+ boss.push(gl.obj["boss2_dummy"]);
+ boss.push(gl.obj["boss2_rightpalm"]);
+ boss.push(gl.obj["boss2_lefthand"]);
+ boss.push(gl.obj["boss2_left_s_gird"]);
+ boss.push(gl.obj["boss3_body"]);
+ boss.push(gl.obj["boss_4"]);
+ boss.push(gl.obj["boss_corpse"]);
+ boss.push(gl.obj["boss2_righthand"]);
+ boss.push(gl.obj["boss2_openbattery"]);
+ boss.push(gl.obj["boss2_rightarm_b"]);
+ boss.push(gl.obj["boss2_leftpalm"]);
+ boss.push(gl.obj["boss2_leftarm"]);//以下透過ずみ
+ boss.push(gl.obj["boss2_rightarm"]);
+ boss.push(gl.obj["boss2_leftshoulder"]);
+ boss.push(gl.obj["boss2_left_s_up"]);
+ boss.push(gl.obj["boss2_battery"]);
+ boss.push(gl.obj["boss2_brokenhatch"]);
+ boss.push(gl.obj["boss2_leftbattery"]);
+ boss.push(gl.obj["boss2_r_shoulderup"]);
+ boss.push(gl.obj["boss2_body"]);
+ boss.push(gl.obj["boss2_rightshoulder"]);
}
function pushEnemy(gl, enemy)
{
- enemy.push(gl.chara["missile"]);
- enemy.push(gl.chara["enemy_greencrab"]);
- enemy.push(gl.chara["enemy_plane"]);
- enemy.push(gl.chara["gunbattery"]);
- enemy.push(gl.effect["enemy_redbullet"]);
- enemy.push(gl.effect["enemy_bluebullet"]);
- enemy.push(gl.effect["tama_s_01"]);
- enemy.push(gl.effect["tama_s_02"]);
- enemy.push(gl.effect["tama_s_03"]);
- enemy.push(gl.chara["meteo"]);
- enemy.push(gl.effect["tama_l_02"]);
- enemy.push(gl.effect["tama_l_03"]);
- enemy.push(gl.chara["enemy_lightning"]);
- enemy.push(gl.chara["enemy_lasersplosh.001"]);
- enemy.push(gl.chara["enemy_lasersplosh.002"]);
- enemy.push(gl.chara["enemy_lasersplosh.003"]);
- enemy.push(gl.chara["missile"]);
- enemy.push(gl.chara["spacefish"]);
- enemy.push(gl.effect["tama_s_04"]);
+ enemy.push(gl.obj["missile"]);
+ enemy.push(gl.obj["enemy_greencrab"]);
+ enemy.push(gl.obj["enemy_plane"]);
+ enemy.push(gl.obj["gunbattery"]);
+ enemy.push(gl.obj["enemy_redbullet"]);
+ enemy.push(gl.obj["enemy_bluebullet"]);
+ enemy.push(gl.obj["tama_s_01"]);
+ enemy.push(gl.obj["tama_s_02"]);
+ enemy.push(gl.obj["tama_s_03"]);
+ enemy.push(gl.obj["meteo"]);
+ enemy.push(gl.obj["tama_l_02"]);
+ enemy.push(gl.obj["tama_l_03"]);
+ enemy.push(gl.obj["enemy_lightning"]);
+ enemy.push(gl.obj["enemy_lasersplosh.001"]);
+ enemy.push(gl.obj["enemy_lasersplosh.002"]);
+ enemy.push(gl.obj["enemy_lasersplosh.003"]);
+ enemy.push(gl.obj["missile"]);
+ enemy.push(gl.obj["spacefish"]);
+ enemy.push(gl.obj["tama_s_04"]);
}
function pushPlayerBullets(gl,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["redbullet"]);
- bullets.push(gl.effect["greenbullet"]);
- bullets.push(gl.effect["lonlaser"]);
+ bullets.push(gl.obj["bluebarrier"]);
+ bullets.push(gl.obj["lockon_sight"]);
+ bullets.push(gl.obj["bulebullet_right"]);
+ bullets.push(gl.obj["bulebullet_left"]);
+ bullets.push(gl.obj["redbullet"]);
+ bullets.push(gl.obj["greenbullet"]);
+ bullets.push(gl.obj["lonlaser"]);
}
function pushBom(gl, bomImage)
{
- bomImage.push(gl.effect["redbomb_anim_0"]);
- bomImage.push(gl.effect["redbomb_anim_1"]);
- bomImage.push(gl.effect["redbomb_anim_2"]);
- bomImage.push(gl.effect["redbomb_anim_3"]);
- bomImage.push(gl.effect["redbomb_anim_4"]);
- bomImage.push(gl.effect["redbomb_anim_5"]);
- bomImage.push(gl.effect["redbomb_anim_6"]);
- bomImage.push(gl.effect["redbomb_anim_7"]);
+ bomImage.push(gl.obj["redbomb_anim_0"]);
+ bomImage.push(gl.obj["redbomb_anim_1"]);
+ bomImage.push(gl.obj["redbomb_anim_2"]);
+ bomImage.push(gl.obj["redbomb_anim_3"]);
+ bomImage.push(gl.obj["redbomb_anim_4"]);
+ bomImage.push(gl.obj["redbomb_anim_5"]);
+ bomImage.push(gl.obj["redbomb_anim_6"]);
+ bomImage.push(gl.obj["redbomb_anim_7"]);
}
function pushEnemyBullets(gl, ebullets)
{
- ebullets.push(gl.effect["enemy_redbullet"]);
- ebullets.push(gl.effect["enemy_bluebullet"]);
- ebullets.push(gl.effect["tama_s_01"]);
- ebullets.push(gl.effect["tama_s_02"]);
- ebullets.push(gl.effect["tama_s_03"]);
- ebullets.push(gl.effect["tama_s_04"]);
- ebullets.push(gl.effect["tama_l_02"]);
- ebullets.push(gl.effect["tama_l_03"]);
- ebullets.push(gl.effect["tama_l_04"]);
+ ebullets.push(gl.obj["enemy_redbullet"]);
+ ebullets.push(gl.obj["enemy_bluebullet"]);
+ ebullets.push(gl.obj["tama_s_01"]);
+ ebullets.push(gl.obj["tama_s_02"]);
+ ebullets.push(gl.obj["tama_s_03"]);
+ ebullets.push(gl.obj["tama_s_04"]);
+ ebullets.push(gl.obj["tama_l_02"]);
+ ebullets.push(gl.obj["tama_l_03"]);
+ ebullets.push(gl.obj["tama_l_04"]);
}
function pushFont(gl, font)
{
- font.push(gl.chara["font_0"]);
- font.push(gl.chara["font_1"]);
- 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"]);
+ font.push(gl.obj["font_0"]);
+ font.push(gl.obj["font_1"]);
+ font.push(gl.obj["font_2"]);
+ font.push(gl.obj["font_3"]);
+ font.push(gl.obj["font_4"]);
+ font.push(gl.obj["font_5"]);
+ font.push(gl.obj["font_6"]);
+ font.push(gl.obj["font_7"]);
+ font.push(gl.obj["font_8"]);
+ font.push(gl.obj["font_9"])
+ font.push(gl.obj["titlefont"]);
+ font.push(gl.obj["font_pushstart"]);
+ font.push(gl.obj["font_superdandy"]);
+ font.push(gl.obj["font_hige"]);
+ font.push(gl.obj["font_font_1997yas_k"]);
+ font.push(gl.obj["font_gameover"]);
}
function PutSpriteF(ctx, x, y, scale, glObj)
@@ -228,20 +193,21 @@
ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject);
// generate the model-view matrix
- var mvMatrix = new CanvasMatrix4();
+ var mvMatrix = new J3DIMatrix4();
+ mvMatrix.translate( x, y, 1);
mvMatrix.scale(scale, scale, scale);
- mvMatrix.translate( x, y, 10);
// construct the normal matrix from the model-view matrix
- var normalMatrix = new CanvasMatrix4(mvMatrix);
+ var normalMatrix = new J3DIMatrix4(mvMatrix);
normalMatrix.invert();
normalMatrix.transpose();
- ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray());
+ normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false);
// 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());
+ var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix);
+ mvpMatrix.multiply(mvMatrix);
+ mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
+
ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);
@@ -268,21 +234,24 @@
ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject);
// generate the model-view matrix
- var mvMatrix = new CanvasMatrix4();
+ var mvMatrix = new J3DIMatrix4();
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);
+ var normalMatrix = new J3DIMatrix4(mvMatrix);
normalMatrix.invert();
normalMatrix.transpose();
- ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsWebGLFloatArray());
+// ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsFloat32Array());
+ normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false);
// 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());
+ var mvpMatrix = new J3DIMatrix4(mvMatrix);
+ mvpMatrix.multiply(ctx.perspectiveMatrix);
+// ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsFloat32Array());
+ mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
+
ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);