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

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

292風来坊:2005/07/27(水) 09:58:50
character.hの該当箇所に以下を、

DWORD CCharacter::Message(DWORD msg,LPVOID dat,DWORD prm)
{
GOBJECT* pobjdat;
GOBJECT* pedat = GetInfo(pdat->eid);

switch(msg){
case GOBJMSG_NAGE:{//投げ、敵側動作
pobjdat = GetInfo(prm);
if(pobjdat==NULL)return(0);
return(eact_nage(pobjdat));
}
break;

case GOBJMSG_STRIKER://支援攻撃要請
if(pdat->aid == ACTID_TAIKICYU){
RemoveProperty( GOBJFLG_TOBETARGET );//ターゲットにはならない...なんでこれ外すんだっけ?(忘)
ChangeAction( ACTID_STRIKER_IN );
return(ALL_RIGHT);
}
return(0);
default:
return(CCharacterBase::Message(msg,dat,prm));//キャラクター基本クラスに処理を任せる
}
return(TRUE);
}

**************************************************

BOOL CCharacter::Command_OnNormal(DWORD keyinfo)
{
GOBJECT* pdat = GetGObject();
GOBJECT* pedat = GetInfo(pdat->eid);

if(pdat->aid & ACTID_KUCYU){////ジャンプ動作中
}
else{
if(keyinfo & KEYSTA_FOWORD && keyinfo & KEYSTA_BC2 &&
NageHantei(MAAI_NAGE) && ObjCatch(pdat->eid, GOBJMSG_NAGE)){//投げ
pdat->aid = ACTID_NAGE1;
return TRUE;
}
}

return CCharacterBase::Command_OnNormal(keyinfo);
}

**************************************************

DWORD CCharacter::Action()
{
switch(GetGObject()->aid){//追加した行動への遷移をここに記述する
case ACTID_NAGE1:act_nage();break;//投げ

case 0:return(0);//WARNINGよけ。消してもいい

default://それ以外はキャラクター基本クラスに任せる
return CCharacterBase::Action();
}

return(TRUE);
}

**************************************************

void CCharacter::InitAttackInfo()
{
ZeroMemory(aif,sizeof(aif));
int i;

i = ATTACKINFO_NAGE;//投げ
aif[i].hit=HITINFO_MARK3 | HITINFO_SNDHIT3;
aif[i].id=ATTACK_STRONG;
aif[i].damage=40;
}

character.cppの該当箇所に以下を、

/*--------------------------------------------------------------
メインキャラクタークラス
----------------------------------------------------------------*/
class CCharacter : public CCharacterBase
{
//*********************************************
// CCharacterクラス独自の関数
//*********************************************
private:
//敵側行動
DWORD eact_nage(GOBJECT* pedat);//投げ
}

**************************************************

//行動IDをここに追加する
#define ACTID_NAGE1(ACTID_ATTACK | ACTID_NAGE | 0x001A)//投げ

**************************************************

//攻撃力番号をここに定義する
#define ATTACKINFO_NAGE10//投げ

**************************************************

//ユーザー定義メッセージ
#define GOBJMSG_NAGE(GOBJMSG_USERDEFINE | 0x0001)//投げ

**************************************************

//間合い
#define MAAI_SHORT(50)
#define MAAI_MIDDLE(150)
#define MAAI_LONG(250)
#define MAAI_NAGE(50)

入れて、action.cppを>>290を参考に作れば、ひとまずプレイヤーは投げを使えるようになる。
当然、IDは重複しないように変更しておくこと。
過保護が過ぎたかな?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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