view webGL/dandy/resources/collision.js~ @ 7:4343c1feedb5

upload boss.js xmlAlpha file
author NOBUYASU Oshiro
date Mon, 05 Jul 2010 17:19:51 +0900
parents
children 680b5b0cd1e4
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.bf = false;
	    jiki.zanki--;
	    jiki.muteki = 120;

	    /*
	    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 > ex )
	    && ( ex + w > tama_lv1[i1].x)
	    && (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;
	    }
	    */
	    p.flag = false;
	    return p;
	}
	
	if ((tama_lv1[i1].x + w > ex ) && (ex + w > 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;
	}

    }

}