Mercurial > hg > Members > e085711
diff webGL/dandy/resources/collision.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/collision.js Mon Jul 12 08:01:12 2010 +0900 +++ b/webGL/dandy/resources/collision.js Thu Jul 15 07:08:37 2010 +0900 @@ -13,6 +13,9 @@ atari = function collision(p) { + var i1=0; + var i2=0; + var n = 0; var ex = p.x; var ey = p.y; var charano = p.charano; @@ -42,17 +45,18 @@ return p; } + /*玉レベル1の当たり判定-------------------------*/ // for (var i1 = 0; tama_lv1[i1]; i1++) { - for (var i1 = 0; i1 < tama_lv1_end + 1; i1++) { + for ( i1 = 0; i1 < tama_lv1_end + 1; i1++) { 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; + infg.stg += 4; Bom(p.x, p.y); // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); p.state = delete_chara; @@ -67,9 +71,9 @@ tama_lv1[i1].l = -1; p.vit -= TAMALV1P; - // infg.stg++; + infg.stg++; if (p.vit <= 0) { - // infg.stg += 4; + infg.stg += 4; Bom(p.x, p.y); // enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1)); p.state = delete_chara; @@ -77,11 +81,117 @@ p.flag = false; return p; } - // p.flag = false; - // return p; } } + /*玉レベル2--------------------------------*/ + for(i1 = 0; i1 < tama_lv2_end + 1; i1++) { + if((tama_lv2[i1].x + 10 + bullets[4].w/2 > ex - w/2 ) + && (ex + w/2 > tama_lv2[i1].x + 10 - bullets[4].w/2) + && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) + && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) + && (tama_lv2[i1].rr != -1)) { + tama_lv2[i1].rr = -1; + p.vit -= TAMALV2P; + infg.stg++; + if(p.vit <= 0) { + 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.f = false; + return p; + } + } + + if((tama_lv2[i1].x + 5 + bullets[4].w/2 > ex - w/2 ) + && (ex + w/2 > tama_lv2[i1].x + 5 - bullets[4].w/2) + && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) + && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) + && (tama_lv2[i1].sr != -1)) { + tama_lv2[i1].sr = -1; + p.vit -= TAMALV2P; + infg.stg++; + if(p.vit <= 0) { + 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.f = false; + return p; + } + } + if((tama_lv2[i1].x - 10 + bullets[4].w/2 > ex - w/2 ) + && (ex + w/2 > tama_lv2[i1].x - 10 - bullets[4].w/2) + && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) + && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) + && (tama_lv2[i1].ll != -1)) { + tama_lv2[i1].ll = -1; + p.vit -= TAMALV2P; + infg.stg++; + if(p.vit <= 0) { + 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.f = false; + return p; + } + } + + if((tama_lv2[i1].x - 5 + bullets[4].w/2 > ex - w/2 ) + && (ex + w/2 > tama_lv2[i1].x - 5 - bullets[4].w/2) + && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) + && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) + && (tama_lv2[i1].sl != -1)) { + tama_lv2[i1].sl = -1; + p.vit -= TAMALV2P; + infg.stg++; + if(p.vit <= 0) { + 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.f = false; + return p; + } + } + } + + + + + /*レーザーレベル1------------------------*/ + for(i1 = 0; i1 < laser_lv1_end + 1; i1++) { + n = laser_lv1[i1].r * 128 / 4096; + // var nx = laser_lv1[i1].w + laser_lv1[i1].scale; + // var ny = laser_lv1[i1].h + laser_lv1[i1].scale; + + if ((laser_lv1[i1].x + n*d_x > ex) && (ex + w > laser_lv1[i1].x) + && (laser_lv1[i1].y + n*d_y > ey) && (laser_lv1[i1].y < ey + h) + && (laser_lv1[i1].r != -1)) { + laser_lv1[i1].r = -1; + laser_lv1[i1].y = -1; + p.vit -= LASERLV1P; + infg.stg++; + if(p.vit <= 0) { + 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.f = false; + return 1; + } + + } + } + + }