電子書籍の厳選無料作品が豊富!

DirectXで「アニメーションが最後まで再生されたら、そのアニメーションを消す」という処理をしたいと思っているのですが、
それをどうやって実現すればいいのか悩んでいます。
現在は下記のようにプログラミングしているのですが、なぜか条件文に入りません。

//現在のアニメーション情報の取得
LPD3DXANIMATIONSET AnimetionSet; //アニメーションセットへのポインタ
double localtime=0; //ローカルタイム
double period=0; //アニメーションの長さの最大値

対象のアニメーションコントローラー->GetAnimationSet( 0, &AnimetionSet ); //現在のアニメーション情報をセット

if( AnimetionSet )
{
period = AnimetionSet->GetPeriod();
//アニメーションの長さの取得
localtime = AnimetionSet->GetPeriodicPosition( 対象のアニメーションコントローラー->GetTime() );//アニメーションのグローバルタイムをローカルタイムに変換
}

//ローカルタイムが最大値になるか、もしくは超えたら
if( localtime >= period )
{
//ここにアニメーションを消す処理を書いている
}

A 回答 (1件)

DirectX使ったこと無いのですが


根本的な疑問として何処で再生完了待ちしてるんでしょうか?
if文では完了待ちになりませんよね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!