//キー入力関係 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=10;break;//攻撃 case "1100 10": case "0100 10":target.dir=12;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 "1000 01":target.dir=28;break;//上+ジャンプ case "0100 01":target.dir=22;break;//下+ジャンプ default:if(obj.at1==1){target.dir=10;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=-38;Move(obj,48,0,32,126,0);obj.movepat=45;break;//垂直ジャンプ case 41:obj.myp=-32;Move(obj,48,0,32,126,1);obj.movepat=46;break;//ジャンプ case 42:obj.myp=-34;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,32,126,0);//上方向攻撃中 Rebirth(obj);break; case 130://Move(obj,16,0,32,126,0);//下方向への攻撃中 Rebirth(obj);break; case 140://Move(obj,16,0,32,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>640){obj.x=640;obj.mxp=0;}//跳ね返り。右の壁に重なったとき if(obj.mxp<0 && obj.x<50){obj.x=50;obj.mxp=0;}//跳ね返り。左の壁に重なったとき if(obj.mxp==0)obj.mxp=0; if(obj.y>384-obj.size_h)//床に重なったとき着地 { //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; } /////////////////////////////////////////////////////////////////////// //攻撃(人) 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==50){//立ち状態 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; } obj.time=0;obj.posi=95; } if(obj.posi==51){//しゃがみ状態 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==52){//真上への攻撃 switch(buki[no].kind){ case -10:obj.atpat=1;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==53){//真下への攻撃 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==54){//ダッシュ攻撃 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; } } 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,-20,25,10,10,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==3)obj.imp=0; if(obj.time==5){obj.posi=59;obj.atpat=0;} break; case 11:Move_Set(obj,32,64,40,64,3);//しゃがみ素手攻撃 Attack_Set(obj,-20,70,10,10,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 31:Move_Set(obj,32,64,40,64,0);//真下素手攻撃 Attack_Set(obj,-80,100,20,20,10); if(obj.time==1)obj.imp=1; if(obj.time>=1 && obj.time<=3){ Move_Set(obj,32,64,40,64,33);}//攻撃する if(obj.time==2)obj.imp=0; if(obj.time==4){obj.posi=59;obj.atpat=0;}// break; case 41:Attack_Set(obj,-65,0,50,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 2:Move_Set(obj,10,0,40,120,450);//gun攻撃gunを構える Attack_Set(obj,-10,19,0,0,0); if(obj.time>=1 && obj.time<=3){Move_Set(obj,10,0,40,120,452);}//ショットする if(obj.time==1){Move_Set(obj,10,0,40,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,20,64,64,64,480);//しゃがみgun攻撃 Attack_Set(obj,-10,73,0,0,0); if(obj.time==1){Move_Set(obj,20,64,64,64,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,20,64,64,64,482);}//ショットする if(obj.time==6){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 22:Move_Set(obj,10,0,40,120,500);//真上gun攻撃 Attack_Set(obj,-76+7*obj.muki,0,0,0,0); if(obj.time==1){Move_Set(obj,10,0,40,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,10,0,40,120,502);}//ショットする if(obj.time==3){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 32:Move_Set(obj,10,0,40,120,505);//真下gun攻撃 Attack_Set(obj,-64+5*obj.muki,128,0,0,0); if(obj.time==1){Move_Set(obj,10,0,40,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,10,0,40,120,507);}//ショットする if(obj.time==4){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 3:Move_Set(obj,10,0,40,120,450);//toy_gunを構える Attack_Set(obj,85,5,0,0,0); if(obj.time==1){buki[no].loaded=0;}// if(obj.time>=2 && obj.time<=7){Move_Set(obj,10,0,40,120,459+obj.time);}//ショットする if(obj.time>=8 && obj.time<=15){Move_Set(obj,10,0,40,120,466);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 4:Move_Set(obj,10,0,40,120,450);//toy_gunを構える Attack_Set(obj,85,5,0,0,0); if(obj.time==1){buki[no].loaded=0;}// if(obj.time>=1 && obj.time<=5){Move_Set(obj,10,0,40,120,470+obj.time);}//ショットする if(obj.time>=5 && obj.time<=15){Move_Set(obj,10,0,40,120,475);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; case 13:Move_Set(obj,20,64,64,64,480);//しゃがみtoy_gun Attack_Set(obj,85,5,0,0,0); if(obj.time==1){Move_Set(obj,20,64,64,64,491);buki[no].loaded=0;}// if(obj.time>=1 && obj.time<=5){Move_Set(obj,20,64,64,64,491);}//ショットする if(obj.time==7){Move_Set(obj,20,64,64,64,492);}//ショットする if(obj.time>=8 && obj.time<=15){Move_Set(obj,20,64,64,64,493);}//ショットする if(obj.time==16){obj.posi=59;obj.atpat=0;}//次の射撃体制へ break; 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; } }