タイトル | : Re: ボーンの下階層の取得 |
投稿日 | : 2011/11/30(Wed) 13:02 |
投稿者 | : おちゃっこ |
そういう時は再帰呼び出しを使います。
C言語でなんとなく書くと下のようになります。
まず親の無いトップジョイント(topjoint)を探します。
そして
int brotherflag = 0;
HogeFuncReq( topjoint, brotherflag );
のように再帰命令を呼び出します。
再帰命令は
void HogeFuncReq( CJoint* curjoint, int brotherflag )
{
//jointに何らかの処理
curjoint->pos.z += 0.5f;
//子供があれば呼び出し
if( curjoint->child ){
HogeFuncReq( curjoint->child, 1 );
}
//兄弟があれば書き出し
if( (brotherflag == 1) && curjoint->brother ){
HogeFuncReq( curjoint->brother, 1 );
}
}
っていう感じで書きます。
HSPでは再帰はやったことないですが
HSPにも実装されていたはずです。