Ninjaライブラリ - モーション関数

njEasyDrawMotionLink

モーションの結合

書式

void njEasyDrawMotionLink( *object, *motionlink, frame )
NJS_OBJECT *object
NJS_MOTION_LINK *motionlink
Float frame

引数

*objectオブジェクト構造体へのポインタ
*motionlinkモーションリンク構造体へのポインタ
frameフレーム番号(0から1まで)

戻値

なし

解説

2つのモーション構造体をつなげます。

モーションリンク構造体中のフレームはリンク元とリンク先のモーション・フレームで、 引数のフレームが0の時にリンク元のフレーム、1の時にリンク先のフレームのモーションにあり、 その他(0<ff<1)は、リンク先とリンク元のフレームを補完します。 [example] #include <Shinobi.h>
#defineOBJECTobject_sample
#defineMOTION1motion_sample1 /* nam に記載 */
#defineMOTION2motion_sample2 /* nam に記載 */
#defineSTEPS60
extern NJS_MOTIONMOTION1[];
extern NJS_MOTIONMOTION2[];
NJS_MOTION_LINKmotionlink;
motionlink.motion[0] = MOTION1;/*リンク元*/ motionlink.motion[1] = MOTION2;/*リンク先*/ /*MOTION1の最後のフレームからMOTION2の1.5フレームを補間*/ motionlink.frame[0] = MOTION1->nbFrame-1; motionlink.frame[1] = 1.5;
njEasyDrawMotionLink( OBJECT, &motionlink, ff/STEPS ); /* フレームは0−1を指定 */ ff+=0.2f; if( ff >= STEPS - 1 ) ff=0.f;

備考

モーションが付いただけで、描画に関してはモデル描画と全く同様になります。 モデル関数ではnjEasyDrawObject()に対応しますので、光源は専用ライトとなります。


参照

njEasyActionLink()

njEasyDrawMotionLink
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998