ページ 11

Dxlibのアニメーションのアタッチがうまくいかない

Posted: 2018年7月06日(金) 14:15
by va
Dxライブラリを使ってアニメーションをしたいのですが、アタッチ番号がうまく返ってきません。
要点としては、
・どのアタッチ番号を使っても0が返ってくる
・アニメーションは3つ入っている
・アニメーションは指定したアニメーション通りになる

アニメーション自体は指定できるし動くけど、返ってくるアタッチ番号はどれも0になってしまっている状態です。

コード:

	
	// モデル読み込み
	Model=MV1LoadModel("Robot_Animation/PLAYER_IndexTest.mv1");

	// モデルに入ってるアニメーションの数を取得
	AnimNum = MV1GetAnimNum(Model);
	if (Model == 1)printfDx("Modelのモデルデータの読み込みに失敗しました。\n");

	// アニメーションの総時間を取得しておく
	AnimTotalTime = MV1GetAnimTotalTime(Model, AnimNum-1);

	// 再生したいアニメーションをアタッチ
	AnimAttachIndex = MV1AttachAnim(Model, 1,-1,FALSE);
MV1AttachAnim(Model, 1,-1,FALSE)
の1の部分がそのまま返ってくるわけではないのでしょうか。
アドバイスお願いします。

Re: Dxlibのアニメーションのアタッチがうまくいかない

Posted: 2018年7月08日(日) 20:03
by みけCAT
MV1AttachAnim

引数は「アタッチするアニメーション番号」、返り値は「アニメーションアタッチ番号」と分けて書かれているので、
別物なのではないでしょうか?
複数のアニメーションをデタッチせずに同じモデルに連続してアタッチするとどうなりますか?

Re: Dxlibのアニメーションのアタッチがうまくいかない

Posted: 2018年7月09日(月) 08:49
by va
返信ありがとうございます。
ご指摘いただいた通り、アタッチ番号とアニメーション番号は全く別のものでした。
複数のアニメーションをデタッチせずに同じモデルに連続してアタッチすると、2行続けて書くと1、3行続けると2が返ってきました。(アニメーション番号関係なく)

アタッチ番号は0から始まり、デタッチせず新たにアタッチするとアタッチ番号を加算して、別のものとして扱う、みたいな認識で合っていますか?

なので、質問した際の0しか返ってこないっていうのは何もおかしくなかったわけですね。
なんとなくですが仕組み理解できました。これからいろいろ試して理解深めていきます。ありがとうございました。