njSimpleActionLink
モーションの結合。

書 式

#include <Ninja.h>
void	njSimpleActionLink( actionlink, frame )
NJS_ACTION_LINK	*actionlink
Float		frame

引 数

actionlink
アクションリンク構造体へのポインタ
frame
フレーム番号(0から1まで)

返 値

なし

エラー

なし

機 能

2つのモーション構造体をつなげます。
モーションリンク構造体中のフレームはリンク元とリンク先のモーション・フレームで、引数のフレームが0の時に
リンク元のフレーム、1の時にリンク先のフレームのモーションにあり、その他(0 フレームを補完します。

用 例


#include  

#define	OBJECT		object_sample
#define	MOTION1		motion_sample1 /* nam に記載 */
#define	MOTION2		motion_sample2 /* nam に記載 */
#define	STEPS		60

extern NJS_MOTION	MOTION1[];
extern NJS_MOTION	MOTION2[];

NJS_MOTION_LINK	motionlink;
NJS_ACTION_LINK	actionlink;

...........
actionlink.motionlink = &motionlink;
actionlink.object = OBJECT;
motionlink.motion[0] = MOTION1;/*リンク元*/
motionlink.motion[1] = MOTION2;/*リンク先*/
/*MOTION1の最後のフレームからMOTION2の1.5フレームを補間*/
motionlink.frame[0] = MOTION1->nbFrame-1;
motionlink.frame[1] = 1.5;

...........
njSimpleActionLink( &actionlink, ff/STEPS ); /* フレームは0−1を指定 */

ff+=0.2f;
if( ff >= STEPS - 1 ) ff=0.f;
...........


備 考

モーションが付いただけで、描画に関してはモデル描画と全く同様になります。
つまり、njControl3Dの設定はすべて同様になります。
モデル関数ではnjSimpleDrawObjectに対応しますので、光源は平行光源1つとなります。

関 連

njActionLink()
njDrawMotionLink()
njFastActionLink()
njFastDrawMotionLink()
njSimpleDrawMotionLink()

njSimpleActionLink

Copyright SEGA ENTERPRISES, LTD., 1998