view 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 source

function collision_detect()
{
    for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++)
	{
	    var p = active_chara_list.enemy[i];
	    if(p.flag == true)
		{
		    p = p.collision(p);
		}
	}
}


atari = function collision(p)
{
    var ex = p.x;
    var ey = p.y;
    var charano = p.charano;
    var w = p.w;
    var h = p.h;

    //自機やられ
    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)
	&& (jiki.muteki <= 0))
	{
	    Bom(jiki.x,jiki.y);
	    
	    jiki.bf = false;
	    
	    jiki.zanki--;
	    jiki.muteki = 120;
	    //	    jiki.muteki = 0;

	    /*
	    infg.stg = 0;
	    infg_level--;
	    if ( infg_level < 0)
	    infg_level = 0;
	    */

	    return p;
	}

    //    for (var i1 = 0; tama_lv1[i1]; i1++) {	
    for (var 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;
	    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.flag = false;
		return p;
	    }
	}
	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;

	    //	    infg.stg++;
	    if (p.vit <= 0) {
		//		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;
	}
    }

}