おちゃっこLAB Easy3D 過去ログ(投稿不可)
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル 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にも実装されていたはずです。


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)