//キー入力関係 function Lever(obj,target){//レバー入力方向 var hantei=0; hantei=obj.up+""+obj.down+"" +obj.left+""+obj.right+" "+obj.at1+""+obj.at2; switch(hantei){//同時押し問題の解消(右向き基準です) //case "上下左右 ガ攻攻": case "0000 00":target.dir=5;break;//ニュ−トラル case "0001 00":target.dir=6;break;//右 case "0010 00":target.dir=4;break;//左 case "1011 00": case "1000 00":target.dir=8;break;//上 case "1001 00":target.dir=9;break;//右上 case "1010 00":target.dir=7;break;//左上 case "0100 00"://下 case "1100 00":target.dir=2;break;//上下 case "0101 00":target.dir=3;break;//右下 case "0110 00":target.dir=1;break;//左下 case "0000 10":target.dir=15;break;//ニュートラル攻撃 case "0001 10":target.dir=14;break;//右攻撃 case "0010 10":target.dir=16;break;//左攻撃 case "0100 10":target.dir=12;break;//しゃがみ攻撃 case "0110 10":target.dir=11;break;//しゃがみ左攻撃 case "0101 10":target.dir=13;break;//しゃがみ右攻撃 case "1000 10":target.dir=18;break;//上方向攻撃 case "0000 01":target.dir=20;break;//ジャンプ case "0001 01":target.dir=26;break;//右ジャンプ case "0010 01":target.dir=24;break;//左ジャンプ case "0100 01":target.dir=22;break;//下+ジャンプ case "1000 01":target.dir=28;break;//上+ジャンプ default:if(obj.at1==1){target.dir=15;break;} if(obj.at2==1){target.dir=20;break;} target.dir=5;break; } //特殊技コマンド判定 if(target.command[target.command.length-1]!=target.dir || target.coma_t==2){ for(i=0;i=10){Move(obj,32,0,64,126,45);posi=0;} break;//武器をかまえる case 1:if(obj.mxp<=8)obj.mxp+=2;obj.muki=0;Move(obj,32,0,40,126,1);break;//右移動 case 2:if(obj.mxp>=-8)obj.mxp-=2;obj.muki=1;Move(obj,32,0,40,126,1);break;//左移動 case 3:if(obj.mxp<=20)obj.mxp+=4;obj.myp=-5;obj.muki=0;Move(obj,32,0,40,126,1);break;//右ダッシュ case 4:if(obj.mxp>=-20)obj.mxp-=4;obj.myp=-5;obj.muki=1;Move(obj,32,0,40,126,1);break;//左ダッシュ case 5:Get_Weapon(obj,weapons);// Move(obj,48,64,40,64,3);//しゃがみへ obj.movepat=30;obj.posi=10;obj.time=0;break; case 10:Move(obj,32,0,64,126,10);//くらい1前から攻撃されたとき if(obj.time>=3){Move(obj,32,0,64,126,0);obj.posi=20;}break; case 11:Move(obj,32,0,64,126,11);//くらい2後ろから攻撃されたとき if(obj.time>=5){Move(obj,32,0,64,126,0);obj.posi=20;}break; case 30:Move(obj,48,64,40,64,3);//しゃがみ中 // if(obj.time>=10){Move(obj,32,0,64,120,50);posi=10;} break;//武器をかまえる case 31:Move(obj,15,32,34,90,0);obj.posi=0;obj.time=0;break;//しゃがみから立ちへ case 50://右前転 if(obj.time<=3){obj.muki=0;obj.mxp=20;Move(obj,6,100,110,25,4);}//前転直後 if(obj.time>=4 && obj.time<=10){obj.mxp=8;Move(obj,80,78,34,50,5);}//転がって・・・ if(obj.time==11){Move(obj,16,64,64,64,3);obj.movepat=30;obj.time=0;obj.posi=10;}break;//しゃがみへ case 60://左前転 if(obj.time<=3){obj.muki=1;obj.mxp=-20;Move(obj,6,100,110,25,4);}//前転直後 if(obj.time>=4 && obj.time<=10){obj.mxp=-8;Move(obj,80,78,34,50,5);}//転がって・・・ if(obj.time==11){Move(obj,16,64,64,64,3);obj.movepat=30;obj.time=0;obj.posi=10;}break;//しゃがみへ //ジャンプ中 case 40:obj.myp=-45;Move(obj,48,0,32,126,0);obj.movepat=45;break;//垂直ジャンプ case 41:obj.myp=-43;Move(obj,48,0,32,126,1);obj.movepat=46;break;//ジャンプ case 42:obj.myp=-55;Move(obj,48,0,32,126,1);obj.movepat=46;break;//ハイジャンプ case 45:Move(obj,48,0,32,126,0);break;//垂直ジャンプ中 case 46:Move(obj,48,0,32,126,1);break;//横ジャンプ中 case 100:Move(obj,16,0,32,126,0);//立ち攻撃ジャンプ攻撃中 Rebirth(obj);break; case 110:Move(obj,14,64,40,64,3);//しゃがみ攻撃中 Rebirth(obj);break; case 120:Move(obj,16,0,64,126,0);//上方向攻撃中 Rebirth(obj);break; case 130:Move(obj,16,0,64,126,0);//下方向への攻撃中 Rebirth(obj);break; case 140:Move(obj,16,0,64,126,0);//ダッシュ攻撃中 Rebirth(obj);break; case 150:Move(obj,16,0,64,126,0);//ローリング攻撃中 Rebirth(obj);break; case 200:obj.time=2;obj.movepat=201;break;//投射体制 case 201:break;//投射体制 case 202:obj.time=2;obj.movepat=203;break;//しゃがみ投射体制 case 203:break;//投射体制 case 999:if(obj.time==15)Move(obj,5000,5000,0,0,19);break;//自然落下 死亡 default:break; } obj.time++; } function Killer_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_Killer(obj){//人間が壁や天井に当たったときの処理 if(obj.mxp>0 && obj.x>field_r){ if(obj.movepat==10 || obj.movepat==11){ if(Math.abs(obj.mxp)>0){ obj.life-=Math.ceil(Math.abs(obj.mxp)/10); Move(obj,32,0,64,126,obj.movepat); } }//激突ダメージ obj.x=field_r;obj.mxp-=50;obj.myp-=30;}//跳ね返り。右の壁に重なったとき if(obj.mxp<0 && obj.x<50){ if(obj.movepat==10 || obj.movepat==11){ if(Math.abs(obj.mxp)>0){ obj.life-=Math.ceil(Math.abs(obj.mxp)/10); Move(obj,32,0,64,126,obj.movepat); } }//激突ダメージ obj.x=50;obj.mxp+=50;obj.myp-=30;}//跳ね返り。左の壁に重なったとき if(obj.mxp==0)obj.mxp=0; if(obj.y>384-obj.size_h)//床に重なったとき着地 { if(obj.movepat==10 || obj.movepat==11){if(obj.myp>50){obj.life-=Math.ceil(obj.myp/10); Move(obj,32,0,64,126,obj.movepat); }}//落下ダメージ //if(obj.j_time>5){}//落下ダメージ //else{} obj.y=384-obj.size_h;obj.myp=0; if(obj.mxp>10)obj.mxp-=5;//8;//地上摩擦 if(obj.mxp>0)obj.mxp-=1; if(obj.mxp<0)obj.mxp+=1; if(obj.mxp<-10)obj.mxp+=5;//8; if(obj.posi==20){obj.posi=0;} } } function Move_Hantei(obj){//当たり判定、攻撃判定の移動 obj.core_x=obj.x+obj.core_x-obj.muki*(obj.core_x+obj.core_x-obj.size_w+obj.core_wid); obj.core_y=obj.y+obj.core_y; obj.at_x=obj.x+obj.size_w+obj.at_x-obj.muki*(obj.size_w+2*obj.at_x+obj.at_w); obj.at_y=obj.y+obj.at_y; if(obj.at_x>0)obj.at_x=0; if(obj.at_y>0)obj.at_y=450; // if(obj.core_x>900 || obj.core_x<0){obj.core_x=0;} if(obj.core_x>1800 || obj.core_x<0){obj.core_x=0;} if(obj.core_y>500){obj.core_x=0;obj.core_y=500;} } /////////////////////////////////////////////////////////////////////// //攻撃(人) function Move_Set(obj,cx,cy,cwid,chei,anime){ //くらい判定設定 obj.core_wid=cwid; obj.core_hei=chei; obj.core_x=obj.x+cx-obj.muki*(cx+cx-obj.size_w+cwid); obj.core_y=obj.y+cy; //キャラの絵のナンバーも変更 obj.bm_n=anime+obj.muki*1000; obj.anime=anime; } function Attack_Set(obj,x,y,haba,takasa,kougekiryoku){ //攻撃時 obj.at_x=obj.x+obj.size_w+x-obj.muki*(obj.size_w+2*x+obj.at_w); obj.at_y=obj.y+y; obj.at_w=haba; obj.at_h=takasa; obj.at_p=kougekiryoku; } function Attack_Change(obj,buki){ var no=obj.weapon; if(obj.posi==45 || obj.posi==44 || obj.posi==46){//立ち状態 switch(weapons[no].kind){ case -10:obj.atpat=1;break;//パンチ case 2:if(buki[no].loaded>0){obj.atpat=2;}//gun攻撃 else{obj.atpat=9;}break;//武器投げ case 3:if(buki[no].loaded>0){obj.atpat=3;}//toy_gun1 else{obj.atpat=9;}break; case 4:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 else{obj.atpat=9;}break; // case 10:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 // else{obj.atpat=9;}break; // default:obj.atpat=1;break;//パンチ } obj.time=0;obj.posi=95; } if(obj.posi==41 || obj.posi==42 || obj.posi==43){//しゃがみ状態 switch(buki[no].kind){ case -10:obj.atpat=11;break;//しゃがみパンチ case 2:if(buki[no].loaded>0){obj.atpat=12;}//しゃがみgun攻撃 else{obj.atpat=19;}break; case 3:if(buki[no].loaded>0){obj.atpat=13;}//toy_gun1 else{obj.atpat=19;}break; case 4:if(buki[no].loaded>0){obj.atpat=13;}//toy_gun2 else{obj.atpat=19;}break; } obj.time=0;obj.posi=95; } if(obj.posi==48 || obj.posi==58){//真上への攻撃 switch(buki[no].kind){ // case -10:obj.atpat=1;break;//パンチ case -10:obj.atpat=21;break;//真上素手攻撃 case 2:if(buki[no].loaded>0){obj.atpat=22;}//上gun攻撃 else{obj.atpat=29;}break; case 3:if(buki[no].loaded>0){obj.atpat=3;}//toy_gun1 else{obj.atpat=29;}break; case 4:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 else{obj.atpat=29;}break; } obj.time=0;obj.posi=95; } if(obj.posi==52){//真下への攻撃 switch(buki[no].kind){ case -10:obj.atpat=31;break;//下パンチ case 2:if(buki[no].loaded>0){obj.atpat=32;}//下gun攻撃 else{obj.atpat=39;}break; case 3:if(buki[no].loaded>0){obj.atpat=3;}//toy_gun1 else{obj.atpat=39;}break; case 4:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 else{obj.atpat=39;}break; } obj.time=0;obj.posi=95; } if(obj.posi==50){//ダッシュ攻撃 switch(buki[no].kind){ case -10:obj.atpat=41;break;//ダッシュパンチ case 2:if(buki[no].loaded>0){obj.atpat=2;}//gun攻撃 else{obj.atpat=39;}break;//ダッシュ投げ case 3:if(buki[no].loaded>0){obj.atpat=3;}//toy_gun1 else{obj.atpat=39;}break; case 4:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 else{obj.atpat=39;}break; } obj.time=0;obj.posi=95; } if(obj.posi==54 || obj.posi==55 || obj.posi==56){//ジャンプ攻撃 switch(buki[no].kind){ case -10:obj.atpat=47;break;//ローリング攻撃 case 2:if(buki[no].loaded>0){obj.atpat=2;}//gun攻撃 else{obj.atpat=9;}break;//武器投げ case 3:if(buki[no].loaded>0){obj.atpat=3;}//toy_gun1 else{obj.atpat=9;}break; case 4:if(buki[no].loaded>0){obj.atpat=4;}//toy_gun2 else{obj.atpat=9;}break; } obj.time=0;obj.posi=95; } } function Attack(obj,buki){ var no=obj.weapon; switch(obj.atpat){ case 0:break;//攻撃無し case 1: Move_Set(obj,32,0,64,120,0);//前方攻撃素手 Attack_Set(obj,-50,25,50,30,5); if(obj.time==2)obj.imp=1; if(obj.time>=2 && obj.time<=3){ Move_Set(obj,32,0,64,120,40);}//攻撃する if(obj.time==5)obj.imp=0; if(obj.time==5){Move_Set(obj,32,0,64,120,0);obj.posi=59;obj.atpat=0;} break; case 11:Move_Set(obj,32,64,40,64,3);//しゃがみ素手攻撃 Attack_Set(obj,-80,70,60,50,5); if(obj.time==3)obj.imp=1; if(obj.time>=3 && obj.time<=4){ Move_Set(obj,32,64,40,64,41);}//攻撃する if(obj.time==5)obj.imp=0; if(obj.time==6){obj.posi=59;obj.atpat=0;}// break; case 21:Attack_Set(obj,-45,50,30,10,10);//真上素手(スペシャル)攻撃 if(obj.time==3){Move_Set(obj,32,64,40,64,41);obj.imp=1;} if(obj.time>=8){Attack_Set(obj,-80+20*obj.muki,-20,50,54,25);obj.imp=1;} if(obj.time>=6 && obj.time<=15){ Move_Set(obj,40,20,32,100,42);}//攻撃する if(obj.time==16){obj.posi=59;obj.atpat=0;}// if(obj.time==16){Move_Set(obj,32,0,64,120,0);}// break; case 31:Move_Set(obj,32,-10,50,130,0);//真下素手攻撃 Attack_Set(obj,-100,100,70,40,10); if(obj.time==1)obj.imp=5; if(obj.time>=1 && obj.time<=3){ Move_Set(obj,32,0,50,120,33);}//攻撃する if(obj.time==3)obj.imp=0; if(obj.time==4){obj.posi=59;obj.atpat=0;}// break; case 41:Attack_Set(obj,-65,0,40,84,15);//ダッシュ攻撃 if(obj.time==3){obj.imp=1;} if(obj.time==6){obj.imp=0;} if(obj.time>=2 && obj.time<=8){ Move_Set(obj,40,20,32,100,42);}//攻撃する if(obj.time==9){obj.posi=59;obj.atpat=0;}// break; case 47://ローリング攻撃 if(obj.time<=3){Attack_Set(obj,-40,90,40,20,15);Move_Set(obj,0,90,100,30,4);}//前転直後 if(obj.time>=4 && obj.time<=10){Attack_Set(obj,-60,80,40,40,15);Move_Set(obj,20,60,110,80,5);}//転がって・・・ if(obj.time==1){obj.imp=1;} if(obj.time==10){obj.imp=0;} if(obj.time==11){Move_Set(obj,0,40,100,100,3);obj.posi=59;obj.atpat=0;}// break; case 2:Move_Set(obj,0,0,100,120,450);//gun攻撃gunを構える Attack_Set(obj,-10,19,0,0,0); if(obj.time>=1 && obj.time<=3){Move_Set(obj,0,0,100,120,452);}//ショットする if(obj.time==1){Move_Set(obj,0,0,100,120,451); if(Tama_Fire(obj,obj.x+314-obj.muki*564,obj.at_y-1,obj.muki,128,tamas)) buki[no].loaded-=1;}//弾丸の発射 if(obj.time==2){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 12:Move_Set(obj,30,48,80,80,480);//しゃがみgun攻撃 Attack_Set(obj,-10,73,0,0,0); if(obj.time==1){Move_Set(obj,30,48,80,80,481); if(Tama_Fire(obj,obj.x+314-obj.muki*564,obj.at_y-1,obj.muki,128,tamas)) buki[no].loaded-=1; } if(obj.time>=2 && obj.time<=3){Move_Set(obj,30,48,80,80,482);}//ショットする if(obj.time==6){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 22:Move_Set(obj,30,0,60,120,500);//真上gun攻撃 Attack_Set(obj,-76+7*obj.muki,0,0,0,0); if(obj.time==1){Move_Set(obj,30,0,60,120,501); if(Tama_Fire(obj,obj.at_x-1,obj.at_y-300,2,128,tamas)) buki[no].loaded-=1; } if(obj.time>=2 && obj.time<=3){Move_Set(obj,30,0,60,120,502);}//ショットする if(obj.time==3){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 32:Move_Set(obj,30,0,60,120,505);//真下gun攻撃 Attack_Set(obj,-64+5*obj.muki,128,0,0,0); if(obj.time==1){Move_Set(obj,30,0,60,120,506); if(Tama_Fire(obj,obj.at_x-1,obj.at_y+300,3,128,tamas)) buki[no].loaded-=1; } if(obj.time>=2 && obj.time<=3){Move_Set(obj,30,0,60,120,507);}//ショットする if(obj.time==4){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 3:Move_Set(obj,0,0,120,120,450);//toy_gunを構える if(obj.time==1){buki[no].loaded=0;}// if(obj.time>=2 && obj.time<=7){Move_Set(obj,0,0,120,120,459+obj.time);}//ショットする Attack_Set(obj,-100,25,100,10,5); if(obj.time>=8 && obj.time<=15)obj.imp=8; if(obj.time==16)obj.imp=0; if(obj.time>=8 && obj.time<=15){Move_Set(obj,0,0,120,120,466);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 4:Move_Set(obj,0,0,120,120,450);//toy_gunを構える if(obj.time==1){buki[no].loaded=0;}// if(obj.time>=1 && obj.time<=5){Move_Set(obj,0,0,120,120,470+obj.time);}//ショットする Attack_Set(obj,-64,25,60,80,5); if(obj.time>=8 && obj.time<=15)obj.imp=8; if(obj.time==16)obj.imp=0; if(obj.time>=5 && obj.time<=15){Move_Set(obj,0,0,120,120,475);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 13:Move_Set(obj,0,48,90,80,480);//しゃがみtoy_gun if(obj.time==1){Move_Set(obj,0,48,90,80,491);buki[no].loaded=0;}// if(obj.time>=1 && obj.time<=5){Move_Set(obj,0,48,90,80,491);}//ショットする if(obj.time==7){Move_Set(obj,0,48,90,80,492);}//ショットする Attack_Set(obj,-40,50,40,30,5); if(obj.time>=8 && obj.time<=15)obj.imp=8; if(obj.time==16)obj.imp=0; if(obj.time>=8 && obj.time<=15){Move_Set(obj,0,48,90,80,493);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 29: case 39: case 9: Move_Set(obj,20,0,64,126,1);//投射 if(obj.time==1){obj.posi=65;}//投射体制へ if(obj.time==3){//投げた! buki[no].loaded=-1; Move_Set(obj,20,0,64,126,30); buki[no].muki=obj.muki; Attack_Set(obj,-48,-64,0,0,0); buki[no].x=obj.at_x-buki[no].muki*buki[no].size_w; buki[no].y=obj.at_y; buki[no].imp=1; obj.weapon=obj.no;//素手になる switch(obj.posi){ case 65:buki[no].posi=5;break; case 66:buki[no].posi=6;break; case 67:buki[no].posi=7;break; } } if(obj.time==4){ Move_Set(obj,32,0,64,126,0);obj.posi=59;obj.atpat=0;} //ニュートラルへ break; case 19:Move_Set(obj,20,64,64,64,3);//しゃがみ投射 if(obj.time==1){obj.posi=65;}//投射体制へ if(obj.time==3){//投げた! buki[no].loaded=-2; Move_Set(obj,20,64,64,64,31); buki[no].muki=obj.muki; Attack_Set(obj,-48,16,0,0,5); buki[no].x=obj.at_x-buki[no].muki*buki[no].size_w; buki[no].y=obj.at_y; buki[no].imp=1; obj.weapon=obj.no;buki[no].posi=5; } if(obj.time==4){ Move_Set(obj,20,64,64,64,3);obj.posi=59;obj.atpat=0;} //ニュートラルへ break; ////default:obj.posi=20;obj.atpat=0;break;//20190329ex } }