タイトル | : Re: ボーンの下階層の取得 |
記事No | : 9954 |
投稿日 | : 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にも実装されていたはずです。
|