# HG changeset patch
# User NOBUYASU Oshiro
# Date 1278889272 -32400
# Node ID 680b5b0cd1e4f9af49257a51dab834d110e3fa9d
# Parent a959cdca5b62dbf900e5a5b8e9808b606ab341ff
upload
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/dandy4.html
--- a/webGL/dandy/dandy4.html Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/dandy4.html Mon Jul 12 08:01:12 2010 +0900
@@ -44,6 +44,9 @@
+
+
+
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Character.js
--- a/webGL/dandy/resources/Character.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Character.js Mon Jul 12 08:01:12 2010 +0900
@@ -1,5 +1,7 @@
+stage = 0;
active_chara_list = new Object();
active_chara_list.enemy = [];
+active_chara_list.tama = [];
count = 0;
rinkx = 0;
rinky = 0;
@@ -79,16 +81,25 @@
ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
ctx.drawElements(ctx.TRIANGLES, glObj.image.numIndices, ctx.UNSIGNED_SHORT, 0);
+
+
}
function obj_draw( ctx )
{
- for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++)
+ for(var i = 0; Boolean(active_chara_list.enemy[i]); i++)
{
if(active_chara_list.enemy[i].flag == true)
{
PutSprite(ctx,active_chara_list.enemy[i]);
}
+ }
+}
+
+function delete_obj( ctx )
+{
+ for(var i = 0; Boolean(active_chara_list.enemy[i]); i++)
+ {
//敵が消えたら配列から消す
if(active_chara_list.enemy[i].flag == false)
{
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Character.js~
--- a/webGL/dandy/resources/Character.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Character.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -1,5 +1,6 @@
active_chara_list = new Object();
active_chara_list.enemy = [];
+active_chara_list.tama = [];
count = 0;
rinkx = 0;
rinky = 0;
@@ -62,7 +63,8 @@
// generate the model-view matrix
var mvMatrix = new CanvasMatrix4();
- mvMatrix.scale(jiki.scale, jiki.scale, jiki.scale);
+ // mvMatrix.scale(jiki.scale, jiki.scale, jiki.scale);
+ mvMatrix.scale(glObj.scale, glObj.scale, glObj.scale);
mvMatrix.translate(glObj.x,glObj.y,10);
// construct the normal matrix from the model-view matrix
@@ -78,6 +80,8 @@
ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
ctx.drawElements(ctx.TRIANGLES, glObj.image.numIndices, ctx.UNSIGNED_SHORT, 0);
+
+
}
function obj_draw( ctx )
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Character_state.js
--- a/webGL/dandy/resources/Character_state.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Character_state.js Mon Jul 12 08:01:12 2010 +0900
@@ -9,44 +9,6 @@
}
}
}
-function Putenemy(charano, x, y, vx, vy, chara_state)
-{
- var p = new Character();
-
- p.collision = atari;
- p.x = x;
- p.y = y;
- p.vx = vx;
- p.vy = vy;
- p.charano = charano;
- // p.tama = tf;
- // p.vit = enemystate[charano].p;
- p.vit = 240;
- // p.score = enemystate[charano].sc;
- // p.s = 0;
- p.flag = true;
- p.state = chara_state;
-
-
- loadEnemyImage(charano, p);//image の登録
-
- active_chara_list.enemy.push(p);
-
-}
-
-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 = bom[charano];
- p.texture = bom[charano].texture;
- p.w = bom[charano].w;
- p.h = bom[charano].h;
- */
-}
noaction = function no_action(p)
{
@@ -85,9 +47,85 @@
return p;
}
+chara_state3 = function character_state3( p )
+{
+ p.x += p.vx;
+ p.y += p.vy;
+ if((p.dt1 == 60) ||
+ (p.dt1 == 90) ||
+ (p.dt1 == 30))
+ {
+ Puttama(0, p.x, p.y);
+ }
+ p.dt1++;
+ p.state = chara_state3;
+ return p;
+}
+
+chara_state4 = function character_state4(p)
+{
+ p.y += p.vy;
+ p.x += p.vx;
+ if(p.y < jiki.y && p.y + 16 > jiki.y)
+ {
+ p.vy = -2;
+ p.vx = ((Jiki.x > p.x ) ? 4 : -4);
+ p.state = chara_state7;
+ }
+ else p.state = chara_state4;
+ return p;
+}
+
+chara_state5 = function character_state5(p)
+{
+ p.y += p.vy;
+ p.x += p.vx;
+ if(p.y + 96 < jiki.y
+ && p.y + 128 > jiki.y)
+ {
+ p.vy = -2;
+ p.vx = ((jiki.x > p.x) ? 4 : -4);
+ p.state = chara_state0;
+ }
+ else p.state = chara_state5;
+ //PutSprite(count, p.x, p.y, p.charano);
+ return p;
+}
+
+chara_state6 = function character_state7(p)
+{
+ p.y += p.vy;
+ p.x += p.vx;
+ if(p.y + 96 < jiki.y
+ && p.y + 128 > jiki.y)
+ {
+ p.vy = 2;
+ p.vx = ((jiki.x > p.x) ? 4 : -4);
+ p.state = chara_state0;
+ }
+ else p.state = chara_state6;
+ //PutSprite(count, p.x, p.y, p.charano);
+ return p;
+}
+
+chara_state7 = function character_state7(p)
+{
+ p.x += p.vx;
+ p.y += p.vy;
+ if((p.dt1 == 60) || (p.dt1 == 90)
+ || (p.dt1 == 30))
+ {
+ Puttama(1, p.x, p.y);
+ }
+ p.dt1++;
+ p.state = chara_state7;
+ return p;
+}
+
+// stage1 boss patern
chara_state8 = function character_state8( p )
{
- if(p.y > 0)
+ if(p.y < 520*d_y)
{
p.y -= p.vy;
/*
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Character_state.js~
--- a/webGL/dandy/resources/Character_state.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Character_state.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -9,38 +9,6 @@
}
}
}
-function Putenemy(charano, x, y, vx, vy, chara_state)
-{
- var p = new Character();
-
- p.collision = atari;
- p.x = x;
- p.y = y;
- p.vx = vx;
- p.vy = vy;
- p.charano = charano;
- // p.tama = tf;
- // p.vit = enemystate[charano].p;
- p.vit = 240;
- // p.score = enemystate[charano].sc;
- // p.s = 0;
- p.flag = true;
- p.state = chara_state;
-
-
- loadEnemyImage(charano, p);//image の登録
-
- active_chara_list.enemy.push(p);
-
-}
-
-function loadEnemyImage(charano, p)
-{
- p.image = enemy[charano];
- p.texture = enemy[charano].texture;
- p.w = enemy[charano].w;
- p.h = enemy[charano].h;
-}
noaction = function no_action(p)
{
@@ -79,6 +47,23 @@
return p;
}
+chara_state3 = function character_state3( p )
+{
+ p.x += p.vx;
+ p.y += p.vy;
+ if((p.dt1 == 60) ||
+ (p.dt1 == 90) ||
+ (p.dt1 == 30))
+ {
+ Puttama(0, p.x, p.y);
+ }
+ p.dt1++;
+ p.state = chara_state3;
+ return p;
+}
+
+
+
chara_state8 = function character_state8( p )
{
if(p.y > 0)
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Player.js
--- a/webGL/dandy/resources/Player.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Player.js Mon Jul 12 08:01:12 2010 +0900
@@ -1,3 +1,5 @@
+rswait = 0;
+
function Pad()
{
this.up=0;
@@ -22,6 +24,7 @@
//勝手につけた
this.quit=0;
+ this.start=0;
return this;
}
@@ -49,6 +52,7 @@
return this;
}
+
function drawPlayer(ctx, jiki)
{
// setup VBOs
@@ -92,17 +96,31 @@
function Player(ctx, jiki, pad, ortho )
{
+
+
+
+ /*自機無敵計算*/
+ /*
+ if(jiki.muteki > 0 && jiki.bf == true){
+ cout++;
+ drawPlayer(ctx, jiki);
+ jiki.muteki--;
+ }
+ */
+
+
pad.right = Math.min(pad.right, 0.7);
pad.left = Math.min(pad.left, 0.7);
pad.up = Math.min(pad.up, 0.7);
pad.down = Math.min(pad.down, 0.7);
+ /*コントローラー上限値----------------------*/
jiki.x += pad.right;
jiki.x -= pad.left;
jiki.y -= pad.up;
jiki.y += pad.down;
-
+ /*自機の動き--------------------------------*/
jiki.x = Math.min(jiki.x, ortho.right - jiki.w/2);
jiki.x = Math.max(jiki.x, ortho.left + jiki.w/2);
jiki.y = Math.min(jiki.y, ortho.bottom - jiki.w/2);
@@ -126,7 +144,10 @@
jiki.w = jiki.image.w;
jiki.h = jiki.image.h;
+
+ // if(jiki.muteki < 5) alert("jiki.muteki "+jiki.muteki);
if(jiki.bf == true) drawPlayer(ctx, jiki);//自機の描画(一先ずここでしておく)
+ if(jiki.muteki > 0) jiki.muteki--;
//玉レベル1登録
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/Player.js~
--- a/webGL/dandy/resources/Player.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/Player.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -1,3 +1,5 @@
+rswait = 0;
+
function Pad()
{
this.up=0;
@@ -27,8 +29,8 @@
function makePlayer( object )
{
- this.x = 0;
- this.y = 0;
+ this.x = 100;
+ this.y = 100;
this.z = 10;
this.dx = 0;
this.dy = 0;
@@ -49,6 +51,7 @@
return this;
}
+
function drawPlayer(ctx, jiki)
{
// setup VBOs
@@ -92,18 +95,31 @@
function Player(ctx, jiki, pad, ortho )
{
+
+
+
+ /*自機無敵計算*/
+ /*
+ if(jiki.muteki > 0 && jiki.bf == true){
+ cout++;
+ drawPlayer(ctx, jiki);
+ jiki.muteki--;
+ }
+ */
+
+
pad.right = Math.min(pad.right, 0.7);
pad.left = Math.min(pad.left, 0.7);
pad.up = Math.min(pad.up, 0.7);
pad.down = Math.min(pad.down, 0.7);
+ /*コントローラー上限値----------------------*/
jiki.x += pad.right;
jiki.x -= pad.left;
jiki.y -= pad.up;
jiki.y += pad.down;
- // alert("right:"+ortho.right+" left:"+ortho.left+" top:"+ortho.top+" bottom:"+ortho.bottom);
-
+ /*自機の動き--------------------------------*/
jiki.x = Math.min(jiki.x, ortho.right - jiki.w/2);
jiki.x = Math.max(jiki.x, ortho.left + jiki.w/2);
jiki.y = Math.min(jiki.y, ortho.bottom - jiki.w/2);
@@ -127,7 +143,10 @@
jiki.w = jiki.image.w;
jiki.h = jiki.image.h;
+
+ // if(jiki.muteki < 5) alert("jiki.muteki "+jiki.muteki);
if(jiki.bf == true) drawPlayer(ctx, jiki);//自機の描画(一先ずここでしておく)
+ if(jiki.muteki > 0) jiki.muteki--;
//玉レベル1登録
@@ -140,7 +159,7 @@
// if(tama_lv1_end > 19) tama_lv1_end = 0;
var i = tama_lv1_end;
- // if(tama_lv1_end > 50) alert(tama_lv1_end);
+ // if(tama_lv1_end > 50) alert(tama_lv1_end);
var tama = new Tama1();
tama.x = jiki.x;
@@ -166,7 +185,7 @@
PutSpriteBullet(ctx, tama_lv1[i], bullets[1]);
tama_lv1[i].x -= 5;//ずらし分を戻す
}
- if (tama_lv1[i].y > ortho.top) {
+ if (tama_lv1[i].y < ortho.top) {
if(tama_lv1_end == i){
tama_lv1_end--;
break;
@@ -205,8 +224,6 @@
// generate the model-view matrix
var mvMatrix = new CanvasMatrix4();
mvMatrix.scale(1, 1, 1);
- mvMatrix.translate(0,0,0);
- mvMatrix.rotate(180, 0,0,1);
mvMatrix.translate(tama.x,tama.y,10);
// construct the normal matrix from the model-view matrix
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/bom.js
--- a/webGL/dandy/resources/bom.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/bom.js Mon Jul 12 08:01:12 2010 +0900
@@ -5,11 +5,14 @@
this.x = 0;
this.y = 0;
this.no = 0;
+ this.scale = 2.0;
this.flag = 0;
+ this.image = new Object();
+ this.texture = new Object();
return this;
}
-function bom2(x, y)
+function Bom(x, y)
{
var i;
if ( bomend > 49) {
@@ -20,37 +23,35 @@
bchar[i] = new bcharClass();
bchar[i].x = x;
bchar[i].y = y;
+ bchar[i].scale = 2.0;
bchar[i].no = 0;
bchar[i].flag = 0;
- loadBomImage(0, bchar[i]);
bomend++;
return ;
}
function loadBomImage(charano, p)
{
- p.image = bom[charano];
- p.texture = bom[charano].texture;
- p.w = bom[charano].w;
- p.h = bom[charano].h;
+ p.image = bomImage[charano];
+ p.texture = bomImage[charano].texture;
+ p.w = bomImage[charano].w;
+ p.h = bomImage[charano].h;
}
+
function PutBom(gl)
{
- for(var i=0; i < bomend; i++)
+ for(var i=0; i < bomend ; i++)
{
if(bchar[i].no != 8) {
count++;
// DefSpriteEx(30 + bchar[i].no, 8, 8);
// PutSpriteEx(30 + bchar[i].no, bchar[i].x+96, bchar[i].y+96, 2, 2, 1);
- // PutSpriteEx(gl, bchar[i], bom[bchar[i].no]);
- // PutSpriteEx(gl, bchar[i], enemy[0]);
- PutSprite(gl, bchar[i], bchar[0]);
+ PutSpriteEx(gl, bchar[i], bomImage[bchar[i].no]);
bchar[i].no++;
}
- // if(bchar[i].no == 8){
- if(bchar[i].no == 7){
- if(bonmed == i) {
+ if(bchar[i].no == 8){
+ if(bomend == i-1 ){
bomend--;
break;
}
@@ -84,7 +85,7 @@
// generate the model-view matrix
var mvMatrix = new CanvasMatrix4();
- mvMatrix.scale(1.0, 1.0, 1.0);
+ mvMatrix.scale(glObj.scale, glObj.scale, glObj.scale);
mvMatrix.translate(glObj.x,glObj.y,10);
// construct the normal matrix from the model-view matrix
@@ -102,4 +103,5 @@
ctx.bindTexture(ctx.TEXTURE_2D, image.texture);
ctx.drawElements(ctx.TRIANGLES, image.numIndices, ctx.UNSIGNED_SHORT, 0);
+
}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/collision.js
--- a/webGL/dandy/resources/collision.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/collision.js Mon Jul 12 08:01:12 2010 +0900
@@ -21,12 +21,16 @@
//自機やられ
if ((ex < jiki.x + jiki.w /2 ) && (ex + w > jiki.x + jiki.w /2)
- && ( ey < jiki.y + jiki.h / 2) && (ey + h > jiki.y + jiki.h / 2))
+ && ( ey < jiki.y + jiki.h / 2) && (ey + h > jiki.y + jiki.h / 2)
+ && (jiki.muteki <= 0))
{
-
+ Bom(jiki.x,jiki.y);
+
jiki.bf = false;
+
jiki.zanki--;
jiki.muteki = 120;
+ // jiki.muteki = 0;
/*
infg.stg = 0;
@@ -49,7 +53,7 @@
// infg.stg += 4;
if (p.vit <= 0) {
// infg.stg += 4;
- // Bom(p.x, p.y);
+ Bom(p.x, p.y);
// enemycount += (p.score * ((infg.stg / 128) + infg_level + 1));
p.state = delete_chara;
p.collision= noaction;
@@ -66,7 +70,7 @@
// infg.stg++;
if (p.vit <= 0) {
// infg.stg += 4;
- // Bom(p.x, p.y);
+ Bom(p.x, p.y);
// enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1));
p.state = delete_chara;
p.collision = noaction;
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/collision.js~
--- a/webGL/dandy/resources/collision.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/collision.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -40,52 +40,42 @@
// for (var i1 = 0; tama_lv1[i1]; i1++) {
for (var i1 = 0; i1 < tama_lv1_end + 1; i1++) {
- if ((tama_lv1[i1].x + w > ex )
- && ( ex + w > tama_lv1[i1].x)
+ if ((tama_lv1[i1].x + w/2 > ex )
+ && ( ex + w > tama_lv1[i1].x + bullets[1].w)
&& (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey + h)
&& (tama_lv1[i1].r != -1)) {
-
tama_lv1[i1].r = -1;
- /*
p.vit -= TAMALV1P;
- infg.stg += 4;
+ // infg.stg += 4;
if (p.vit <= 0) {
- infg.stg += 4;
- Bom(p.x, p.y);
- enemycount += (p.score * ((infg.stg / 128) + infg_level + 1));
+ // infg.stg += 4;
+ // Bom(p.x, p.y);
+ // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1));
p.state = delete_chara;
p.collision= noaction;
p.flag = false;
return p;
}
- */
- p.flag = false;
- return p;
}
-
- if ((tama_lv1[i1].x + w > ex ) && (ex + w > tama_lv1[i1].x)
+ if ((tama_lv1[i1].x + w > ex ) && (ex + w/2 > tama_lv1[i1].x)
&& (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey +h)
&& (tama_lv1[i1].l != -1)) {
tama_lv1[i1].l = -1;
+ p.vit -= TAMALV1P;
- /*
- p.vit -= TAMALV1P;
- infg.stg++;
+ // infg.stg++;
if (p.vit <= 0) {
- infg.stg += 4;
- Bom(p.x, p.y);
- enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1));
+ // infg.stg += 4;
+ // Bom(p.x, p.y);
+ // enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1));
p.state = delete_chara;
p.collision = noaction;
p.flag = false;
return p;
}
- */
-
- p.flag = false;
- return p;
+ // p.flag = false;
+ // return p;
}
-
}
}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/constKey.js
--- a/webGL/dandy/resources/constKey.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/constKey.js Mon Jul 12 08:01:12 2010 +0900
@@ -15,6 +15,7 @@
const KEY_E = 69;
const KEY_W = 87;
const KEY_S = 83;
+const ENTER = 13;
//弾の威力
const TAMALV1P = 14;
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/constKey.js~
--- a/webGL/dandy/resources/constKey.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/constKey.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -1,4 +1,5 @@
pad = new Pad();
+//キーボード入力
const LEFT_ARROW = 37;
const UP_ARROW = 38;
const RIGHT_ARROW = 39;
@@ -14,3 +15,14 @@
const KEY_E = 69;
const KEY_W = 87;
const KEY_S = 83;
+
+//弾の威力
+const TAMALV1P = 14;
+const TAMALV2P = 50;
+const TAMALV3P = 24;
+
+//レーザーの威力?
+const LASERLV1P = 17;
+const LASERLV2P = 154;
+const LASERLV3P = 51;
+
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/enemy.js
--- a/webGL/dandy/resources/enemy.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/enemy.js Mon Jul 12 08:01:12 2010 +0900
@@ -1,7 +1,41 @@
-function test()
+//旧 dandy の画面との調整
+//(1920,1080) を (200,140) として扱うため
+d_x = 0.104;//200 / 1920
+d_y = 0.129;//140 / 1080
+tf = false;
+
+
+function Putenemy(charano, x, y, vx, vy, chara_state)
{
- return 0;
+ var p = new Character();
+
+ p.collision = atari;
+ p.x = x * d_x; //旧 dandy 座標を合わせるため
+ p.y = y * d_y; //上に同じく
+ p.vx = vx * d_x;
+ 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.s = 0;
+ p.flag = true;
+ p.state = chara_state;
+
+
+ loadEnemyImage(charano, p);//image の登録
+
+ active_chara_list.enemy.push(p);
+
+}
+
+function loadEnemyImage(charano, p)
+{
+ p.image = enemy[charano];
+ p.texture = enemy[charano].texture;
+ p.w = enemy[charano].w;
+ p.h = enemy[charano].h;
}
-
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/enemy.js~
--- a/webGL/dandy/resources/enemy.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/enemy.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -1,22 +1,35 @@
-function loadEnemyXml(gl,url)
+function Putenemy(charano, x, y, vx, vy, chara_state)
{
- if(gl.chara == undefined) gl.chara = 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);
- }
+ var p = new Character();
+
+ p.collision = atari;
+ p.x = x;
+ p.y = y;
+ p.vx = vx;
+ p.vy = vy;
+ p.charano = charano;
+ // p.tama = tf;
+ // p.vit = enemystate[charano].p;
+ p.vit = 240;
+ // p.score = enemystate[charano].sc;
+ // p.s = 0;
+ p.flag = true;
+ p.state = chara_state;
+
+
+ loadEnemyImage(charano, p);//image の登録
+
+ active_chara_list.enemy.push(p);
+
+}
+
+function loadEnemyImage(charano, p)
+{
+ p.image = enemy[charano];
+ p.texture = enemy[charano].texture;
+ p.w = enemy[charano].w;
+ p.h = enemy[charano].h;
}
-function parseEnemy(gl)
-{
- var enemy = [];
- enemy.push(gl.chara["enemy_greenclab"]);
- enemy.push(gl.chara["missile"]);
- enemy.push(gl.chara["gunbattery"]);
- enemy.push(gl.chara["meteo"]);
- return enemy;
-}
\ No newline at end of file
+
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/keybord.js
--- a/webGL/dandy/resources/keybord.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/keybord.js Mon Jul 12 08:01:12 2010 +0900
@@ -13,6 +13,7 @@
if(code == UP_ARROW) {pad.up+=1;}
if(code == DOWN_ARROW) {pad.down+=1;}
if(code == KEY_D) {alert("x:"+jiki.x+" y:"+jiki.y);}
+ if(code == ENTER) pad.start = 1;
}
function keybordPress()
{
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/keybord.js~
--- a/webGL/dandy/resources/keybord.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/keybord.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -12,7 +12,7 @@
if(code == RIGHT_ARROW) {pad.right+=0.5;pad.count++}
if(code == UP_ARROW) {pad.up+=1;}
if(code == DOWN_ARROW) {pad.down+=1;}
-
+ if(code == KEY_D) {alert("x:"+jiki.x+" y:"+jiki.y);}
}
function keybordPress()
{
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/move.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/move.js Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,10 @@
+function Move()
+{
+
+ for(var tekino=0; tekino < 100; tekino++)
+ {
+ }
+
+
+
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/move.js~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/move.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,7 @@
+function Move()
+{
+
+
+
+
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/opening.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/opening.js Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,6 @@
+function opening(ctx)
+{
+ PutSpriteF(ctx, 100, 70, 1, font[11]);
+ PutSpriteF(ctx, 170, 50, 1, font[12]);
+ PutSpriteF(ctx, 40, 1200, 1, font[13]);
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/opening.js~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/opening.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,6 @@
+function opening()
+{
+
+
+
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/parse.js
--- a/webGL/dandy/resources/parse.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/parse.js Mon Jul 12 08:01:12 2010 +0900
@@ -5,10 +5,18 @@
loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
loadBossXml(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ファイルの中身をいれる
+
jiki = new makePlayer(gl.chara);//自機の情報をいれておくクラス、グローバル
enemy = [];//敵の情報を入れておく配列を用意、グローバル
pushEnemy(gl,enemy);//配列enemy[]に敵をpush
+ // pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush
boss = [];//bossの情報を入れておく配列を用意,グローバル
pushBoss(gl, boss);//配列boss[]にbossの情報をpush
@@ -16,8 +24,13 @@
bullets = [];//弾の情報を入れておく配列を用意、グローバル
pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush
- bom = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル
- pushBom(gl, bom);//配列 bom[]に爆発をpush
+ bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル
+ pushBom(gl, bomImage);//配列 bom[]に爆発をpush
+
+ font = [];//fontを入れておく配列
+ pushFont(gl, font);//
+ // ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル
+ // pushEnemyBullets(gl, ebullets);
}
function loadCharaXml(gl,url)
@@ -67,10 +80,20 @@
function pushEnemy(gl, enemy)
{
+ enemy.push(gl.chara["meteo"]);
enemy.push(gl.chara["enemy_greenclab"]);
enemy.push(gl.chara["missile"]);
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.effect["tama_s_04"]);
+ enemy.push(gl.effect["tama_l_02"]);
+ enemy.push(gl.effect["tama_l_03"]);
enemy.push(gl.chara["meteo"]);
+
}
@@ -84,17 +107,87 @@
bullets.push(gl.effect["redbullet"]);
bullets.push(gl.effect["greenbullet"]);
bullets.push(gl.effect["lonlaser"]);
+
// return bullets;
}
-function pushBom(gl, bom)
+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"]);
+}
+
+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"]);
+}
+
+function pushFont(gl, font)
{
- bom.push(gl.effect["redbomb_anim_1"]);
- bom.push(gl.effect["redbomb_anim_2"]);
- bom.push(gl.effect["redbomb_anim_3"]);
- bom.push(gl.effect["redbomb_anim_4"]);
- bom.push(gl.effect["redbomb_anim_5"]);
- bom.push(gl.effect["redbomb_anim_6"]);
- bom.push(gl.effect["redbomb_anim_7"]);
+ 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["titlefont"]);
+ font.push(gl.chara["font_pushstart"]);
+ font.push(gl.chara["font_superdandy"]);
+}
+
+function PutSpriteF(ctx, x, y, scale, 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.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
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/parse.js~
--- a/webGL/dandy/resources/parse.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/parse.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -1,5 +1,6 @@
function parseXml(gl)
{
+
loadCharaXml(gl, "./xml/character.xml");//gl.charaにxmlファイルの中身を入れる
loadEffectXml(gl, "./xml/effect.xml");//gl.effectにxmlファイルの中身をいれる
loadBossXml(gl, "./xml/boss.xml");//gl.bossにxmlファイルの中身を入れる
@@ -8,12 +9,19 @@
enemy = [];//敵の情報を入れておく配列を用意、グローバル
pushEnemy(gl,enemy);//配列enemy[]に敵をpush
+ pushEnemyBullets(gl, enemy);//配列enemy[]に敵の弾情報をpush
boss = [];//bossの情報を入れておく配列を用意,グローバル
pushBoss(gl, boss);//配列boss[]にbossの情報をpush
bullets = [];//弾の情報を入れておく配列を用意、グローバル
pushPlayerBullets(gl,bullets);//配列bullets[]に弾をpush
+
+ bomImage = [];//撃破時の爆発の情報をいれておく配列を用意。グローバル
+ pushBom(gl, bomImage);//配列 bom[]に爆発をpush
+
+ // ebullets = [];//敵の弾の情報を入れておく配列を用意、グローバル
+ // pushEnemyBullets(gl, ebullets);
}
function loadCharaXml(gl,url)
@@ -83,3 +91,26 @@
// return bullets;
}
+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"]);
+}
+
+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"]);
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/pause.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/pause.js Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,29 @@
+function pause()
+{
+
+
+
+
+ if(jiki.bf == false)
+ {
+ if(rswait < 80){
+ rswait++;
+ return;
+ }else {
+ rswait = 0;
+ jiki.x = 100;
+ jiki.y = 100;
+ jiki.bf = true;
+
+ pad.st = 0;
+ /*
+ lg.stg = 4096;
+ pg.st = 4096;
+ laser_lv3[0].r = 62;
+ tlv3[0].r = 0;
+ tlv3[0].y = -1;
+ return;
+ */
+ }
+ }
+}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/pause.js~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/pause.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,18 @@
+function pause()
+{
+
+
+ if(jiki.bf == FASE)
+ {
+ if(rswait < 80){
+ rswait++;
+ return;
+ }else {
+ rswait = 0;
+
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/sankaku.c~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/sankaku.c~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,26 @@
+mycos = [];
+mysin = [];
+
+function Mycos(c)
+{
+ c %= 360;
+ if(c < 0)
+ c += 360;
+ if((c <= 180))
+ return (mycos[c]);
+ if(c > 180)
+ return (mycos[180 - (c - 180)]);
+ return 0;
+}
+
+function Mysin(c)
+{
+ c %= 360;
+ if( c < 0)
+ c += 360;
+ if(c <= 180)
+ return (mysin[c]);
+ if(c > 180)
+ return (mysin[180 - (c - 180)] * -1);
+ return 0;
+}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/sankaku.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/sankaku.js Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,42 @@
+mycos = [];
+mysin = [];
+const SANKAKU = 100000;
+const pi2 = Math.PI * 2.0;
+
+
+function sankakuf()
+{
+ for(var i=0; i < 180; i++){
+ mysin[i] = Math.sin(i / 360.0 * pi2) * SANKAKU;
+ }
+ for(i=0; i < 180; i++) {
+ mycos[i] = Math.cos(i / 360.0 * pi2) * SANKAKU;
+ }
+}
+
+function Mycos(c)
+{
+ c = parseInt(c);
+ c %= 360;
+ if(c < 0)
+ c += 360;
+ if((c <= 180))
+ return (mycos[c]);
+ if(c > 180)
+ return (mycos[180 - (c - 180)]);
+ return 0;
+}
+
+function Mysin(c)
+{
+ c = parseInt(c);
+ if(c < 1) c += 1;
+ c %= 360;
+ if( c < 0)
+ c += 360;
+ if(c <= 180)
+ return (mysin[c]);
+ if(c > 180)
+ return (mysin[180 - (c - 180)] * -1);
+ return 0;
+}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/sankaku.js~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/sankaku.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,39 @@
+mycos = [];
+mysin = [];
+const SANKAKU = 100000;
+const pi2 = Math.PI * 2.0;
+
+
+function sankakuf()
+{
+ for(var i=0; i < 180; i++){
+ mysin[i] = Math.sin(i / 360.0 * pi2) * SANKAKU;
+ }
+ for(i=0; i < 180; i++) {
+ mycos[i] = cos(i / 360.p * pi2) * SANKAKU;
+ }
+}
+
+function Mycos(c)
+{
+ c %= 360;
+ if(c < 0)
+ c += 360;
+ if((c <= 180))
+ return (mycos[c]);
+ if(c > 180)
+ return (mycos[180 - (c - 180)]);
+ return 0;
+}
+
+function Mysin(c)
+{
+ c %= 360;
+ if( c < 0)
+ c += 360;
+ if(c <= 180)
+ return (mysin[c]);
+ if(c > 180)
+ return (mysin[180 - (c - 180)] * -1);
+ return 0;
+}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/schedule.js
--- a/webGL/dandy/resources/schedule.js Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/schedule.js Mon Jul 12 08:01:12 2010 +0900
@@ -6,36 +6,178 @@
{
switch (filpcount) {
case 1:
+ // SoundStop();
+ // SoundPlay(0);
break;
case FRAME_RATE * 2:
- bom2(30,80);
- // Putenemy(0, 30, 80, 0, -0.3, chara_state0);
-// for(var x = 0; x < 1000; x+=2){
-// Putenemy(0, x-50, 80, 0, 0.3, 1);
-// }
+ Putenemy(1, 120, -128, 0, 4, chara_state0);
+ break;
+ case FRAME_RATE * 3:
+ Putenemy(1, 56, -128, 0, 8, chara_state0);
+ Putenemy(1, 184, -128, 0, 8, chara_state0);
+ break;
+ case FRAME_RATE * 4:
+ Putenemy(1, 120, -128, 0, 4, chara_state0);
+ break;
+ case FRAME_RATE * 5:
+ Putenemy(1, 224, -128, 1, 1, chara_state0);
+ Putenemy(1, 184, -128, 1, 1, chara_state0);
+ break;
+ case FRAME_RATE * 6:
+ Putenemy(1, 120, -128, 1, 2, chara_state0);
break;
- case FRAME_RATE * 10:
- Putenemy(1, -30, 80, 0, 0.3, chara_state1);
- Putenemy(0, 30, -80, 0, 0.3, chara_state0);
+ case FRAME_RATE * 7:
+ Putenemy(1, 56, -128, 0, 1, chara_state0);
+ Putenemy(1, 184, -128, 0, 1, chara_state0);
+ break;
+ case FRAME_RATE * 8:
+ Putenemy(2, 120, -128, 0, 1, chara_state0);
+ break;
+
+ case FRAME_RATE * 12:
+ Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 13:
+ Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 14:
+ Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
break;
case FRAME_RATE * 15:
- Putenemy(2, -40, 80, 0, 0.5, chara_state1);
- Putenemy(0, -30, -80, 0, 0.3, chara_state0);
+ Putenemy(2, 1280 - 128 - 120, -128, -1, 1, chara_state4);
+ break;
+ case FRAME_RATE * 16:
+ Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 17:
+ Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 18:
+ Putenemy(1, 1280 - 128 - 120, -32, 0, 1, chara_state4);
+ Putenemy(1, 1280 - 128, -128, -2, 1, chara_state4);
+ Putenemy(1, 800, -88, -1, 1, chara_state4);
break;
- case FRAME_RATE * 20:
- Putenemy(3, 30, 80, 0, 0.4, chara_state1);
+ case FRAME_RATE * 24:
+ Putenemy(1, 256, -128, 0, 1, chara_state4);
+ Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 25:
+ Putenemy(2, 512, -128, 0, 1, chara_state4);
+ Putenemy(2, 1280 - 128, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 26:
+ Putenemy(1, 384, -128, 0, 1, chara_state4);
+ Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+ Putenemy(1, 512, -128, 0, 3, chara_state4);
+ Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+ break;
+ case FRAME_RATE * 27:
+ Putenemy(2, 512, -128, 0, 3, chara_state2);
+ Putenemy(2, 256 - 128, -128, 0, 2, chara_state2);
+ Putenemy(2, 768, -128, 0, 4, chara_state2);
+ Putenemy(2, 128, -128, 0, 3, chara_state2);
break;
- case FRAME_RATE * 45:
- for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++)
- {
- var p = active_chara_list.enemy[i];
- p.f = false;
- p.state = delete_chara;
- p.collision = noaction;
- }
- PutBoss(1, 0, 80, 0, 0.5, chara_state8); // 1面ボスをPutenemy
+ case FRAME_RATE * 28:
+ Putenemy(1, 256, -128, 0, 1, chara_state4);
+ Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 29:
+ Putenemy(2, 256, -128, 0, 1, chara_state4);
+ Putenemy(2, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 30:
+ Putenemy(1, 256, -128, 0, 1, chara_state4);
+ Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+ break;
+ case FRAME_RATE * 33:
+ Putenemy(1, 256, 1088, 0, -1, chara_state5);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);//5/22/pm5:300
+ break;
+ case FRAME_RATE * 34:
+ Putenemy(2, 256, 1088, 0, -1, chara_state5);
+ Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+ break;
+ case FRAME_RATE * 35:
+ Putenemy(1, 256, 1088, 0, -1, chara_state5);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+ break;
+ case FRAME_RATE * 36:
+ Putenemy(2, 256, 1088, 0, -1, chara_state5);
+ Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+ break;
+ case FRAME_RATE * 37:
+ Putenemy(1, 256, 1088, 0, -1, chara_state5);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+ break;
+ case FRAME_RATE * 38:
+ Putenemy(2, 256, 1088, 0, -1, chara_state5);
+ Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+ break;
+ case FRAME_RATE * 39:
+ Putenemy(1, 256, 1088, 0, -1, chara_state5);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
break;
- }
+ case FRAME_RATE * 50:
+ // Putenemy(40, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ Putenemy(1, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ break;
+ case FRAME_RATE * 46:
+ // Putenemy(40, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ Putenemy(1, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ break;
+ case FRAME_RATE * 54:
+ // Putenemy(40, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ Putenemy(1, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+ break;
-}
\ No newline at end of file
+ case FRAME_RATE * 60:
+ Putenemy(1, 256, 1088, 0, -1, chara_state6);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 61:
+ Putenemy(1, 256, 1088, 0, -1, chara_state6);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 62:
+ Putenemy(1, 256, 1088, 0, -1, chara_state6);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 63:
+ Putenemy(1, 256, 1088, 0, -1, chara_state6);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 64:
+ Putenemy(1, 256, 1088, 0, -1, chara_state6);
+ Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 65:
+ Putenemy(40, 256, 1088, 0, -1, chara_state6);
+ Putenemy(40, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+ break;
+ case FRAME_RATE * 80:
+ Putenemy(42, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 66:
+ Putenemy(41, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 84:
+ Putenemy(42, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 70:
+ Putenemy(41, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 88:
+ Putenemy(42, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 74:
+ Putenemy(41, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 92:
+ Putenemy(42, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ case FRAME_RATE * 78:
+ Putenemy(41, Math.random() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+ break;
+ }
+}
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/schedule.js~
--- a/webGL/dandy/resources/schedule.js~ Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/resources/schedule.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -8,21 +8,19 @@
case 1:
break;
case FRAME_RATE * 2:
- Putenemy(0, 30, 80, 0, 0.3, chara_state1);
-// for(var x = 0; x < 1000; x+=2){
-// Putenemy(0, x-50, 80, 0, 0.3, 1);
-// }
+ // Putenemy(0, 30, -10, 0, 0.3, chara_state0);
+ Putenemy(0, 30, -10, 0, 0.3, chara_state3);
break;
case FRAME_RATE * 10:
- Putenemy(1, -30, 80, 0, 0.3, chara_state1);
- Putenemy(0, 30, -80, 0, 0.3, chara_state0);
+ Putenemy(1, 60, -10, 0, -0.3, chara_state1);
+ Putenemy(0, 40, -10, 0, 0.3, chara_state0);
break;
case FRAME_RATE * 15:
- Putenemy(2, -40, 80, 0, 0.5, chara_state1);
- Putenemy(0, -30, -80, 0, 0.3, chara_state0);
+ Putenemy(2, 40, -10, 0, -0.5, chara_state1);
+ Putenemy(0, 30, -10, 0, 0.3, chara_state0);
break;
case FRAME_RATE * 20:
- Putenemy(3, 30, 80, 0, 0.4, chara_state1);
+ Putenemy(3, 30, -10, 0, -30.4, chara_state1);
break;
case FRAME_RATE * 45:
for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++)
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/tama.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/tama.js Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,141 @@
+function TFon()
+{
+ tf = true;
+}
+
+function TFoff()
+{
+ tf = false;
+}
+
+
+function Puttama(type, x, y)
+{
+ TFon();
+ switch (type) {
+ case 0:
+ Putenemy(4, x, y, 0, 2, chara_state0);
+ Putenemy(4, x, y, Mysin(15) * 2 / SANKAKU, Mycos(15) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(30) * 2 / SANKAKU, Mycos(30) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(-15) * 2 / SANKAKU, Mycos(-15) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(-30) * 2 / SANKAKU, Mycos(-30) * 2 / SANKAKU, chara_state0);
+ break;
+ case 1:
+ Putenemy(4, x, y, Mysin(Math.random() % 15) * 2 / SANKAKU,
+ Mycos(Math.random() % 15) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(Math.random() % 15) * 2 / SANKAKU,
+ Mycos(Math.random() % 15) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(Math.random() % 15 * -1) * 2 / SANKAKU,
+ Mycos(Math.random() % 15 * -1) * 2 / SANKAKU, chara_state0);
+ Putenemy(4, x, y, Mysin(Math.random() % 15 * -1) * 2 / SANKAKU,
+ Mycos(Math.random() % 15 * -1) * 2 / SANKAKU, chara_state0);
+ break;
+ case 2:
+ Putenemy(6, x, y, 10, -3, chara_state20);
+ break;
+ case 3:
+ Putenemy(6, x, y, -10, -3, chara_state21);
+ break;
+ case 4:
+ Putenemy(7, x, y, 0, 15, chara_state0);
+ break;
+ case 5:
+ Putenemy(8, x, y, 0, 30, chara_state0);
+ break;
+ case 6:
+ Putenemy(10, x, y, 0, 0, chara_state30);
+ break;
+ case 7:
+ Putenemy(6, x, y, 0, 4, chara_state0);
+ Putenemy(6, x, y, Mysin(15) * 4 / SANKAKU,
+ Mycos(15) * 4 / SANKAKU, chara_state0);
+ Putenemy(6, x, y, Mysin(30) * 4 / SANKAKU,
+ Mycos(30) * 4 / SANKAKU, chara_state0);
+ Putenemy(6, x, y, Mysin(-15) * 4 / SANKAKU,
+ Mycos(-15) * 4 / SANKAKU, chara_state0);
+ Putenemy(6, x, y, Mysin(-30) * 4 / SANKAKU,
+ Mycos(-30) * 4 / SANKAKU, chara_state0);
+ break;
+ case 8:
+ Putenemy(3, x + 8, y + 8, -4, 0, chara_state0);
+ Putenemy(3, x + 8, y + 8, 4, 0, chara_state0);
+ Putenemy(3, x + 8, y, -4, Mysin(30) * -8 / SANKAKU, chara_state0);
+ Putenemy(3, x + 8, y, 4, Mysin(30) * -8 / SANKAKU, chara_state0);
+ break;
+ case 9:
+ Putenemy(3, x + 8, y, -4, Mysin(30) * -8 / SANKAKU, chara_state0);
+ Putenemy(3, x + 8, y, 4, Mysin(30) * -8 / SANKAKU, chara_state0);
+ Putenemy(3, x + 8, y, -4, Mysin(30) * 8 / SANKAKU, chara_state0);
+ Putenemy(3, x + 8, y, 4, Mysin(30) * 8 / SANKAKU, chara_state0);
+ break;
+ case 10:
+ Putenemy(3, x + 8, y, -4, 0, chara_state0);
+ Putenemy(3, x + 8, y, 4, 0, chara_state0);
+ Putenemy(3, x + 8, y, 0, 4, chara_state0);
+ Putenemy(3, x + 8, y, 0, -4, chara_state0);
+ break;
+ case 11:
+ {
+ var a;
+ a = Math.random() % 360;
+
+ Putenemy(3, x + 8, y, Mycos(a) / SANKAKU,
+ Mysin(a) / SANKAKU, chara_state0);
+ }
+ }
+ TFoff();
+}
+
+
+function loadBulletImage(tamano, e)
+{
+ e.image = ebullets[tamano];
+ e.texture = ebullets[tamano].texture;
+ e.w = ebullets[tamano].w;
+ e.h = ebullets[tamano].h;
+}
+
+
+function teki()
+{
+ this.x=0;
+ this.y=0;
+ this.sx=0;
+ this.xy=0;
+ this.tamarno=0;
+ this.tama=false;//タマ
+ this.flag=0;//表示フラグ
+ this.p=0;//硬さ
+ this.move=0;
+ this.sc=0;//スコア
+ this.dt1=0;
+ this.dt2=0;
+ this.w=0;
+ this.h=0;
+ this.image = new Object();
+ this.texture = new Object();
+ this.s=0;
+ return this;
+}
+/*
+function Putenemy2(tamano, x, y, vx, vy, chara_state)
+{
+// var ii = 0;
+
+ var e = new teki();
+ e.x = x;
+ e.y = y;
+ e.vx = sx;
+ e.vy = sy;
+ e.tamano = tamano;
+ e.flag = true;
+ // e.sc = enemystate[tamano].sc;
+ // e.dt1 = e.dt2 = 0;
+ e.move = move;
+ // e.tama = tf;
+
+ loadBulletImage(tamano, e);//image の登録
+ active_chara_list.tama.push(e);//敵の弾情報を配列に追加
+
+}
+*/
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/resources/tama.js~
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/resources/tama.js~ Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,66 @@
+function Puttama(type, x, y)
+{
+ switch (type) {
+ case 0:
+ Putenemy(4, x, y, 0, 0.8, chara_state0);
+ // alert(Mysin(15));alert(Mycos(15));
+ // Putenemy(5, x, y, Mysin(15) * 2 / SANKAKU,
+ // Mycos(15) * 2 / SANKAKU, chara_staet0);
+ break;
+ }
+
+}
+
+
+function loadBulletImage(tamano, e)
+{
+ e.image = ebullets[tamano];
+ e.texture = ebullets[tamano].texture;
+ e.w = ebullets[tamano].w;
+ e.h = ebullets[tamano].h;
+}
+
+
+function teki()
+{
+ this.x=0;
+ this.y=0;
+ this.sx=0;
+ this.xy=0;
+ this.tamarno=0;
+ this.tama=false;//タマ
+ this.flag=0;//表示フラグ
+ this.p=0;//硬さ
+ this.move=0;
+ this.sc=0;//スコア
+ this.dt1=0;
+ this.dt2=0;
+ this.w=0;
+ this.h=0;
+ this.image = new Object();
+ this.texture = new Object();
+ this.s=0;
+ return this;
+}
+/*
+function Putenemy2(tamano, x, y, vx, vy, chara_state)
+{
+// var ii = 0;
+
+ var e = new teki();
+ e.x = x;
+ e.y = y;
+ e.vx = sx;
+ e.vy = sy;
+ e.tamano = tamano;
+ e.flag = true;
+ // e.sc = enemystate[tamano].sc;
+ // e.dt1 = e.dt2 = 0;
+ e.move = move;
+ // e.tama = tf;
+
+ loadBulletImage(tamano, e);//image の登録
+ active_chara_list.tama.push(e);//敵の弾情報を配列に追加
+
+}
+*/
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/boss.xml
--- a/webGL/dandy/xml/boss.xml Sat Jul 10 16:38:23 2010 +0900
+++ b/webGL/dandy/xml/boss.xml Mon Jul 12 08:01:12 2010 +0900
@@ -23694,7 +23694,7 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-
+
24.359322, -13.349751, 0.000000
16.359324, -13.349750, 0.000000
@@ -23722,7 +23722,7 @@
1.000000, 0.000000
1.000000, 1.000000
-
+
Qk04MAAAAAAAADYAAAAoAAAAQAAAAEAAAAABABgAAAAAAAIwAADDDgAAww4AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -23942,7 +23942,7 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-
+
16.716768, -30.571281, 0.000000
8.716770, -30.571274, 0.000000
@@ -31744,7 +31744,7 @@
1.000000, 0.000000
1.000000, 1.000000
-
+
Qk04MAAAAAAAADYAAAAoAAAAQAAAAEAAAAABABgAAAAAAAIwAADDDgAAww4AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/character.xml
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/effect.xml
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font.xml
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font_0.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/font_0.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,65 @@
+
+
+
+
+ -2.500000 -2.500000 0.000000
+ 2.500000 -2.500001 0.000000
+ 2.500000 2.500000 0.000000
+ 2.500000 2.500000 0.000000
+ -2.500000 2.500000 0.000000
+ -2.500000 -2.500000 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font_1.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/font_1.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,65 @@
+
+
+
+
+ -2.500000 -2.500000 0.000000
+ 2.500000 -2.500001 0.000000
+ 2.500000 2.500000 0.000000
+ 2.500000 2.500000 0.000000
+ -2.500000 2.500000 0.000000
+ -2.500000 -2.500000 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font_2.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/font_2.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,69 @@
+
+
+
+
+ -2.500000 -2.500000 0.000000
+ 2.500000 -2.500001 0.000000
+ 2.500000 2.500000 0.000000
+ 2.500000 2.500000 0.000000
+ -2.500000 2.500000 0.000000
+ -2.500000 -2.500000 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font_pushstart.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/font_pushstart.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,154 @@
+
+
+
+
+ -29.999996 -3.000000 0.000000
+ 29.999994 -3.000000 0.000000
+ 30.000006 3.000000 0.000000
+ 30.000006 3.000000 0.000000
+ -30.000004 3.000000 0.000000
+ -29.999996 -3.000000 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/font_superdandy.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/font_superdandy.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,246 @@
+
+
+
+
+ -38.013790 -3.801379 0.000000
+ 38.013790 -3.801380 0.000000
+ 38.013805 3.801380 0.000000
+ 38.013805 3.801380 0.000000
+ -38.013802 3.801379 0.000000
+ -38.013790 -3.801379 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/player_idle.png
Binary file webGL/dandy/xml/player_idle.png has changed
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/titlefont.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/titlefont.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,353 @@
+
+
+
+
+ -34.999996 -69.999985 0.000000
+ 34.999992 -70.000015 0.000000
+ 35.000008 70.000008 0.000000
+ 35.000008 70.000008 0.000000
+ -35.000004 69.999992 0.000000
+ -34.999996 -69.999985 0.000000
+
+
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+ 0.000000 0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file
diff -r a959cdca5b62 -r 680b5b0cd1e4 webGL/dandy/xml/titlefotnt_super.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webGL/dandy/xml/titlefotnt_super.xml Mon Jul 12 08:01:12 2010 +0900
@@ -0,0 +1,576 @@
+
+
+
+
+ 1.000000 1.000000 0.000000
+ -1.000000 1.000000 0.000000
+ -1.000000 -1.000000 0.000000
+ -1.000000 -1.000000 0.000000
+ 1.000000 -1.000000 0.000000
+ 1.000000 1.000000 0.000000
+
+
+ 0.000000 -0.000000 1.000000
+ 0.000000 -0.000000 1.000000
+ 0.000000 -0.000000 1.000000
+ 0.000000 -0.000000 1.000000
+ 0.000000 -0.000000 1.000000
+ 0.000000 -0.000000 1.000000
+
+
+ 0.000000 0.000000 0.000000
+
+
+ 0.000000 0.000000
+ 1.000000 0.000000
+ 1.000000 1.000000
+ 1.000000 1.000000
+ 0.000000 1.000000
+ 0.000000 0.000000
+
+
+ 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
+
+
+
\ No newline at end of file