changeset 21:6dd37a368a1f

create charaTable
author NOBUYASU Oshiro
date Wed, 06 Oct 2010 23:47:02 +0900
parents fac103fcf60d
children 222c5c84325a
files webGL/dandy/dandy5.html webGL/dandy/resources/charaTable.js webGL/dandy/resources/const.js webGL/dandy/resources/enemy.js webGL/dandy/resources/parse.js
diffstat 5 files changed, 330 insertions(+), 155 deletions(-) [+]
line wrap: on
line diff
--- a/webGL/dandy/dandy5.html	Sun Oct 03 02:37:00 2010 +0900
+++ b/webGL/dandy/dandy5.html	Wed Oct 06 23:47:02 2010 +0900
@@ -49,6 +49,8 @@
 		<script src="resources/sankaku.js"> </script> 
 		<script src="resources/syokika.js"> </script> 
 		<script src="resources/sound.js"> </script> 
+		<script src="resources/const.js"> </script> 
+		<script src="resources/charaTable.js"> </script> 
         
     <script id="vshader" type="x-shader/x-vertex">
         uniform mat4 u_modelViewProjMatrix;
@@ -110,9 +112,8 @@
 				gl.enable(gl.TEXTURE_2D);
 				
 				sankakuf();//mycos,mysinの作成 sankaku.js
-				
 				parseXml(gl);//parse.js
-
+		        initEnemyTable(gl);//parseXmlの後に呼ぶこと
 
 				return gl;
 			}
@@ -133,7 +134,9 @@
 				ctx.viewport(0, 0, width, height);
 				
                 ctx.perspectiveMatrix = new J3DIMatrix4();
-				ctx.perspectiveMatrix.ortho(0, -200, 0, -140, -1000, 10000);
+//				ctx.perspectiveMatrix.ortho(50, -150, 0, -140, -1000, 10000);
+				ctx.perspectiveMatrix.ortho(ortho.left, -ortho.right, ortho.top, -ortho.bottom, 0, 10000);
+
 //	           ctx.perspectiveMatrix.perspective(30, width/height, 1, 10000);
 			}
 			
@@ -144,8 +147,6 @@
 				reshape(ctx, ortho);
 				ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT);
 				
-				
-				
 				Player(ctx, jiki, pad, ortho);
 				
 				obj_draw(ctx);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/charaTable.js	Wed Oct 06 23:47:02 2010 +0900
@@ -0,0 +1,92 @@
+enemystate = [];
+
+function initEnemyTable(gl) {
+    createEnemyTable();
+    regiEnemyTable(gl);
+}
+
+function pushEnemyTable(charano, score, hardness) {
+
+    var enemy = new Object();
+    enemy.charano = charano;
+    enemy.sc = score;
+    enemy.p = hardness;
+    enemy.image = new Object();
+    enemystate.push(enemy);
+}
+
+function createEnemyTable(){
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(ENEMY_GREENCRAB,330,98);
+    pushEnemyTable(ENEMY_PLANE,470,37);
+    pushEnemyTable(ENEMY_REDBULLET,30,16);
+    pushEnemyTable(BOSS1_ORGAN,25000,10000);
+    pushEnemyTable(BOSS1_ORGAN,10000,10000);
+    pushEnemyTable(ENEMY_BLUEBULLET,40,39);
+    pushEnemyTable(ENEMY_LASER,100,100000);
+    pushEnemyTable(ENEMY_LIGHTNING,100,100000);
+    pushEnemyTable(ASTEROID,170,500);
+    pushEnemyTable(BOSS2_BODY,100,500);
+    pushEnemyTable(BOSS2_LEFTSHOULDER,10000,12000);
+    pushEnemyTable(BOSS2_RIGHTSHOULDER,10000,12000);
+    pushEnemyTable(BOSS2_RIGHTARM,5000,15000);
+    pushEnemyTable(BOSS2_LEFTARM,5000,15000);
+    pushEnemyTable(BOSS2_BATTERY,10000,5000);
+    pushEnemyTable(BOSS2_OPENBATTERY,10000,5000);
+    pushEnemyTable(BOSS2_BROKENHATCH,100,500);
+    pushEnemyTable(BOSS2_DUMMY,50000,15000);
+    pushEnemyTable(BOSS2_RIGHTSHOULDERUP,10000,20000);
+    pushEnemyTable(BOSS2_LEFTSHOULDERUP,10000,15000);
+    pushEnemyTable(BOSS2_LEFTSHOULDERGIRD,100,20000);
+    pushEnemyTable(BOSS2_RIGHTARMBATTERY,100,500);
+    pushEnemyTable(BOSS2_LEFTARMBATTERY,100,500);
+    pushEnemyTable(ORBITMACHINE,20,1000000);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(BLACKHOLE,200000,30000);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(GUNBATTERY,540,137);
+    pushEnemyTable(PURPLECORE,840,287);
+    pushEnemyTable(SPACEFISH,370,137);
+    pushEnemyTable(MISSILE,210,24);
+    pushEnemyTable(BOSS3_BODY,100000,9600);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(0,0,0);
+    pushEnemyTable(BODD4_BODY,300000,20400);
+}
+
+function regiEnemyImage(gl, num, name) {
+    enemystate[num].image = gl.obj[name];
+}
+
+function regiEnemyTable(gl) {
+    regiEnemyImage(gl, 1, "enemy_greencrab");
+    regiEnemyImage(gl, 2, "enemy_plane");
+    regiEnemyImage(gl, 3, "redbullet");
+    regiEnemyImage(gl, 4, "boss_orgun");
+    regiEnemyImage(gl, 5, "boss_orgun");
+    regiEnemyImage(gl, 6, "enemy_bluebullet");
+    regiEnemyImage(gl, 7, "enemy_lasersplosh.001");
+    regiEnemyImage(gl, 8, "enemy_lightning");
+    regiEnemyImage(gl, 9, "enemy_greencrab");//本当はASTEROID
+    regiEnemyImage(gl, 10, "boss2_body");
+    regiEnemyImage(gl, 11, "boss2_leftshoulder");
+    regiEnemyImage(gl, 12, "boss2_rightshoulder");
+    regiEnemyImage(gl, 13, "boss2_rightarm");
+    regiEnemyImage(gl, 14, "boss2_leftarm");
+    regiEnemyImage(gl, 15, "boss2_battery");
+    regiEnemyImage(gl, 16, "boss2_openbattery");
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/const.js	Wed Oct 06 23:47:02 2010 +0900
@@ -0,0 +1,110 @@
+const PLAYER_LEFTMOVE = 1;
+const PLAYER_TURNTOLEFT = 2;
+const PLAYER_IDLE = 3;
+const PLAYER_TURNTORIGHT = 4;
+const PLAYER_RIGHTMOVE = 5;
+const BLUEBULLET_LEFT = 6;
+const BLUEBULLET_RIGHT = 7;
+const REDBULLET = 8;
+const LONGLASER = 9;
+const GAUGE_PANEL = 10;
+const OFFENSIVEPOWER_GAUGE = 11;
+const BURNER = 12;
+const LOCKON_SIGHT = 13;
+const SPECIAL_LASERGAUGE = 14;
+const DIFFENSIVEPOWER_GAUGE = 15;
+const GREENBULLET = 16;
+const BULEBARRIER = 17;
+const FONT_PLAYER_1 = 18;
+const FONT_GAMEOVER = 19;
+const FONT_0 = 20;
+const FONT_1 = 21;
+const FONT_2 = 22;
+const FONT_3 = 23;
+const FONT_4 = 24;
+const FONT_5 = 25;
+const FONT_6 = 26;
+const FONT_7 = 27;
+const FONT_8 = 28;
+const FONT_9 = 29;
+const REDBOMB_ANIM_0 = 30;
+const REDBOMB_ANIM_1 = 31;
+const REDBOMB_ANIM_2 = 32;
+const REDBOMB_ANIM_3 = 33;
+const REDBOMB_ANIM_4 = 34;
+const REDBOMB_ANIM_5 = 35;
+const REDBOMB_ANIM_6 = 36;
+const REDBOMB_ANIM_7 = 37;
+const FONT_HIGE = 38;
+const GREENBOMB_ANIM_0 = 40;
+const GREENBOMB_ANIM_1 = 41;
+const GREENBOMB_ANIM_2 = 42;
+const GREENBOMB_ANIM_3 = 43;
+const GREENBOMB_ANIM_4 = 44;
+const GREENBOMB_ANIM_5 = 45;
+const GREENBOMB_ANIM_6 = 46;
+const GREENBOMB_ANIM_7 = 47;
+const INFLATION_GAUGE = 48;
+const INFLATION_METER = 49;
+const ENEMY_GREENCRAB = 50;
+const ENEMY_PLANE = 51;
+const ENEMY_REDBULLET = 52;
+const FONT_PUSHSTART = 53;
+const BOSS1_ORGAN = 54;
+const ENEMY_LASER = 55;
+const   ENEMY_BLUEBULLET = 56;
+const   ENEMY_LIGHTNING = 57;
+const   ENEMY_LASERSPLOSH_0 = 58;
+const   ENEMY_LASERSPLOSH_1 = 59;
+const   ENEMY_LASERSPLOSH_2 = 60;
+const   ENEMY_LASERSPLOSH_3 = 61;
+const   ASTEROID = 62;
+const   ORBITMACHINE = 63;
+const   BOSS2_BODY = 64;
+const   BOSS2_RIGHTSHOULDER = 65;
+const   BOSS2_LEFTSHOULDER = 66;
+const   BOSS2_RIGHTARM = 67;
+const   BOSS2_LEFTARM = 68;
+const   BOSS2_BATTERY = 69;
+const   BOSS2_OPENBATTERY = 70;
+const   BOSS2_BROKENHATCH = 71;
+const   BOSS2_DUMMY = 72;
+const   BOSS2_RIGHTSHOULDERUP = 73;
+const   BOSS2_LEFTSHOULDERUP = 74;
+const   BOSS2_LEFTSHOULDERGIRD = 75;
+const   BOSS2_RIGHTARMBATTERY = 76;
+const   BOSS2_LEFTARMBATTERY = 77;
+const   BOSS2_RIGHTHAND = 78;
+const   BOSS2_RIGHTPALM = 79;
+const   BOSS2_LEFTHAND = 80;
+const   BOSS2_LEFTPALM = 81;
+const   PLAYER_LASERSPLOSH_0 = 90;
+const   PLAYER_LASERSPLOSH_1 = 91;
+const   PLAYER_LASERSPLOSH_2 = 92;
+const   PLAYER_LASERSPLOSH_3 = 93;
+const   BOSS_POWERGAUGE = 94;
+const   BLACKHOLE = 100;
+const   FONT_DOYOUCONTINUE = 110;
+const   FONT_ALLSTAGECLEAR = 111;
+const   FONT_REST = 112;
+const   FONT_STAGE = 113;
+const   FONT_LINEOFZERO_000000 = 114;
+const   FONT_LINEOFZERO_0000000 = 115;
+const   FONT_THANKYOU = 116;
+const   FONT_NYSOFT = 117;
+const   FONT_1997YGGDRASIL = 118;
+const   FONT_SUPERDANDY = 119;
+const   FONT_1997YAS_K = 120;
+const   GUNBATTERY = 180;
+const   PURPLECORE = 181;
+const   SPACEFISH = 182;
+const   MISSILE = 183;
+const   BOSS3_BODY = 184;
+const   BODD4_BODY = 185;
+const   TITLEFONT_SUPER = 190;
+const   TITLEFONT_BATTLE = 191;
+const   TITLEFONT_EMPEROR = 192;
+const   GREENBARRIER = 193;
+const   REMAINDER = 194;
+const   EARTH = 195;
+const   BOSS_CORPSE = 196;
--- a/webGL/dandy/resources/enemy.js	Sun Oct 03 02:37:00 2010 +0900
+++ b/webGL/dandy/resources/enemy.js	Wed Oct 06 23:47:02 2010 +0900
@@ -16,9 +16,9 @@
     p.vy = vy * d_y;
     p.charano = charano;
     p.tama = tf;
-    //    p.vit = enemystate[charano].p;
-    p.vit = 240;
-    //    p.score = enemystate[charano].sc;
+    p.vit = enemystate[charano].p;
+//    p.vit = 240;
+    p.score = enemystate[charano].sc;
     //    p.s = 0;
     p.flag = true;
     p.state = chara_state;
@@ -32,10 +32,17 @@
 
 function loadEnemyImage(charano, p)
 {
+/*
     p.image = enemy[charano];
     p.texture = enemy[charano].texture;
     p.w = enemy[charano].w;
     p.h = enemy[charano].h;
+*/
+    p.image = enemystate[charano];
+    p.texture = enemy[charanostate].texture;
+    p.w = enemy[charanostate].w;
+    p.h = enemy[charanostate].h;
+
 }
 
 
--- a/webGL/dandy/resources/parse.js	Sun Oct 03 02:37:00 2010 +0900
+++ b/webGL/dandy/resources/parse.js	Wed Oct 06 23:47:02 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["boss_orgun"]);//透過ずみ
-    boss.push(gl.chara["boss2_dummy"]);
-    boss.push(gl.chara["boss2_rightpalm"]);
-    boss.push(gl.chara["boss2_lefthand"]);
-    boss.push(gl.chara["boss2_left_s_gird"]);
-    boss.push(gl.chara["boss3_body"]);
-    boss.push(gl.chara["boss_4"]);
-    boss.push(gl.chara["boss_corpse"]);
-    boss.push(gl.chara["boss2_righthand"]);
-    boss.push(gl.chara["boss2_openbattery"]);
-    boss.push(gl.chara["boss2_rightarm_b"]);
-    boss.push(gl.chara["boss2_leftpalm"]);
-    boss.push(gl.chara["boss2_leftarm"]);//以下透過ずみ
-    boss.push(gl.chara["boss2_rightarm"]);
-    boss.push(gl.chara["boss2_leftshoulder"]);
-    boss.push(gl.chara["boss2_left_s_up"]);
-    boss.push(gl.chara["boss2_battery"]);
-    boss.push(gl.chara["boss2_brokenhatch"]);
-    boss.push(gl.chara["boss2_leftbattery"]);
-    boss.push(gl.chara["boss2_r_shoulderup"]);
-    boss.push(gl.chara["boss2_body"]);
-    boss.push(gl.chara["boss2_rightshoulder"]);
+
+    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)