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

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

290たるのひと:2005/07/27(水) 00:44:05
>>289
カービィの方でしょうか。応援してますyp。
たるA(モンク)の投げのソース(ちょっと変えたもの)を貼ります。
「色々改変したりして使ってください。」

つ//モンク
void CCharacter::act_mnk_nage()//モンク投げ
{
ZFront();
if(pdat->counter == 0){
pdat->cnow = CELL_PUNCH3;
//掴みマーク表示&掴み効果音発生
AddEffect(EFCTID_MARKC,(int)pdat->x + zurex(30),-30,0);
PlaySysSound(SYSTEMSOUND_CATCH);
}
if(pdat->counter<5){
pdat->cnow = CELL_PUNCH3;
}else if(pdat->counter<25){
pdat->y-=40;
}else if(pdat->counter<41){
pdat->y+=50;
}else{
//pdat->cnow = CELL_nage2;
AddEffect(EFCTID_MARK3,(int)pdat->x + zurex(80),-70,0);
//PlaySysSound(SYSTEMSOUND_HIT3);
pdat->x+=40;
pdat->aid = ACTID_NEUTRAL;//注1
}
}

//投げモンク(相手側)
DWORD CCharacter::eact_mnk_nage(GOBJECT *pedat)
{
if(pedat->counter<5){
pedat->cnow=DCELL_NAGERARE1;
pedat->x=pdat->x+zurex(36);
return(0);
}else if(pedat->counter<25){
pedat->y=pdat->y;
return(0);
}else if(pedat->counter<41){
pedat->y=pdat->y;
return(0);
}else{//開放
StartAttack(ATTACKINFO_NAGEMNK);
AddDamage(pedat->id,(int)pdat->x + zurex(30),-30);
return(ACTID_DOWN);
}
}

以下解説。↓
キャラクターの位置は、
自キャラがpdat->x,pdat->y
敵キャラがpedat->x,pedat->yに格納されてます。
この値を変えれば、キャラクターの位置が変わるわけです。
xが横軸、yが縦軸なのでxをいじれば横に、yをいじれば縦にずれます。
このソースでは自キャラの動きのほうでy軸を変えて、
敵キャラの動きのほうで、自キャラのy軸をそのまま敵キャラのy軸に代入しています。
敵キャラの動きソースで必ず忘れてはならないのがreturnで、これがないと不具合が起こるので、
必ずカウンターに応じて必要なreturnを返すようにしてください。
StartAttack(ATTACKINFO_NAGEMNK);ここで攻撃力を設定し、
AddDamage(pedat->id,(int)pdat->x + zurex(30),-30);ここで上で設定したダメージを与えています。
最後にreturn(ACTID_DOWN);を返すことで、敵キャラは通常動作に戻ることができます。
「AddEffect」では、画面をゆらしたり円を発生させたりしています。
また、//注1のACTID_NEUTRALを他のアクションIDに変更すれば、投げ終了後に
ニュートラルとは違う動作に移行します。たるAでは、回転して着地する動作に移行するようになっています。
cnowとcounterは多分大丈夫だと思いますので省略します。

これでもわからないようなら、ちょっとアドバイスのしようが無いのですが。
制作頑張ってください。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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