したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

キャラ製作議論,質問など

2マニーマイラブ</b><font color=#FF0000>(e3O3bIIM)</font><b>:2002/09/21(土) 02:20
>>八歯製作者さん

ガードシステムについてです.
既存のTouchA関数のはじめの方には以下のような部分があると思います.
(これがTouchA関数の全体ではないので注意してください.
あくまで最初の方の記述です)

----ここから----

//システム定義動作中(すでにガード中のときのみガード)
if(pdat->aid & ACTID_SYSTEM){
if(pdat->aid & ACTID_KUCYU){////ジャンプ動作中
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDJ);
else return(TOUCHA_KURAIJ);
}
else if(pdat->aid & ACTID_SYAGAMI){//しゃがみ中
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDC);
else return(TOUCHA_KURAIC);
}
else{
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDS);
else return(TOUCHA_KURAIS);
}
}

-----ここまで-----

これを以下のものに差し替えます.

-----ここから-----

//AQ防止(上のFUTTOBIバグ対策のため追加)
if(pdat->aid==ACTID_DOWN2)return(0);

//システム定義動作中(すでにガード中のときのみガード)
if(pdat->aid & ACTID_SYSTEM){
if(pdat->aid & ACTID_KUCYU){////ジャンプ動作中
if(!(info->guard & GUARDINFO_XJAMP)){
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDJ);
else return(TOUCHA_KURAIJ);
}
}
else if(pdat->aid & ACTID_SYAGAMI){//しゃがみ中
if(!(info->guard & GUARDINFO_XCROUCH)){
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDC);
else return(TOUCHA_KURAIC);
}
}
else{
if(!(info->guard & GUARDINFO_XSTAND)){
if(pdat->aid & ACTID_GUARD)return(TOUCHA_GUARDS);
else return(TOUCHA_KURAIS);
}
}
}

----ここまで-----

これによりガード振り分けを行なわなければならないものになり,
また,現在問題であるAQへの原因の一つも最初の方のif文で回避できます.

以上です.
よろしくお願いします.


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板