/////////////////////////////////////////////////////////////////////// //武器の処理 function Buki_Action(obj){//武器の移動 switch(obj.posi){ case 0:obj.bm_n=1;obj.size_h=64;obj.at_x=0;obj.at_y=48;//静止 break; case 1:obj.bm_n=1;break;//静止プレイヤーと重なっている case 2:obj.bm_n=0;obj.x=-100;obj.y=-100;obj.mxp=0;obj.myp=-5; break;//プレイヤーに持たれている case 3:break;//自由落下 case 4:obj.mxp=1;obj.myp=-5;//空中浮遊 case 5:obj.bm_n=2;obj.mxp=24-obj.muki*48;obj.myp=-12;//投げ普通 obj.posi=92;break; case 6:obj.bm_n=2;obj.mxp=48-obj.muki*96;obj.myp=-8;//低く遠く obj.posi=92;break; case 7:obj.bm_n=2;obj.mxp=8-obj.muki*16;obj.myp=-40;//高く近く obj.posi=92;break; case 8:obj.bm_n=2;obj.myp=-32;//投げ真上 obj.posi=92;break; case 9:obj.bm_n=3;obj.mxp=16-obj.muki*32;//投げ床伝い obj.posi=93; break; case 10:obj.bm_n=1;obj.mxp=8-obj.muki*16;obj.myp=-8;//投げ転がり obj.posi=92; break; case 12:obj.bm_n=1;obj.mxp=-8+obj.muki*16;obj.myp=0;//プレイヤーの手から落ちたとき obj.posi=93; break; case 13:obj.bm_n=1;obj.mxp=-32+obj.muki*64;obj.myp=-6;//プレイヤーの手から飛ばされたとき obj.posi=93; break; case 14:obj.bm_n=1;obj.mxp=-16+obj.muki*32;obj.myp=-6; //プレイヤーの手から飛ばされたとき弾切れ時 obj.posi=95; break; //基本的に自然の力に任せる case 90:obj.bm_n=1;//床の上にいる状態 break; case 91:obj.bm_n=1;//床が抜けて落下している状態 break; case 92:obj.bm_n=2;//投げられて空中にいる状態 obj.at_x=8;obj.at_w=32;obj.at_h=16; obj.at_y=16;obj.size_h=36; break; case 93:obj.bm_n=1;//プレイヤーの手から落ちたとき break; case 94:obj.bm_n=3;//床づたいに投げられている状態 break; case 95:obj.bm_n=2;obj.size_h=36;obj.posi=98;obj.time=0;//弾数0の時落とされたとき break; case 98:if(obj.time%2==0){obj.bm_n=0;}//点滅 else{obj.bm_n=2;} if(obj.time==10){obj.posi=99;}break; case 99://完全破壊リサイクル待ち obj.bm_n=0; obj.x=-100;obj.y=-100; obj.mxp=0;obj.myp=-5; break; default:break; } } function Buki_Move(obj){//武器の移動 自然が影響 obj.mx=obj.mxp; obj.my=obj.myp+5; obj.myp=obj.my; obj.x+=obj.mx;obj.y+=obj.my; } function Bound(obj){//バウンド、跳ね返り等の処理 if(obj.mxp>2 && obj.x>680){obj.mxp=obj.mxp*-1+2;obj.muki=1;}//跳ね返り右の壁に当たったとき if(obj.mxp<-2 && obj.x<50){obj.mxp=obj.mxp*-1-2;obj.muki=0;}//跳ね返り左の壁に当たったとき if(obj.mxp==0)obj.mxp=0; if(obj.y>384-obj.size_h)//バウンド {obj.y=384-obj.size_h;obj.myp=obj.my/-16;obj.j_time=0;//跳ね返り if(obj.mxp>12)obj.mxp-=8;//地上摩擦 if(obj.mxp>0)obj.mxp-=1; if(obj.mxp<0)obj.mxp+=1; if(obj.mxp<-12)obj.mxp+=8; if(obj.loaded<=0 && obj.posi<98){obj.posi=95;obj.time=0;}// if(obj.myp>=-1 && obj.myp<1){obj.myp=0;} } //if(obj.mxp>=5 && obj.myp>=5){obj.posi=5;}//一定の移動力があると攻撃判定を持つ if(obj.mxp==0 && obj.myp==0 && obj.posi<95 && obj.posi!=2){obj.posi=0;} } function Move_Buki_Hantei(obj){//当たり判定、攻撃判定の移動 obj.at_x=obj.x+obj.at_x-obj.muki*(2*obj.at_x+obj.at_w-obj.size_w); obj.at_y=obj.y+obj.at_y; } function W_Recycle(buki){//武器の再生 for(i=2;i