こんにちは.
今回はSlider機能をアニメーション的に動かしたくて,さらに言えば変数を使いたかったのでScriptから動かしたい時に詰まったお話です.
あれですよ,経験値が上がっていく様子を,スライダーにしたかったんです笑
早速問題のコードはこちら.
void Start()
{
Animation anim = GetComponent<Animation>();
AnimationClip clip = new AnimationClip();
AniimationCurve curve = AnimationCurve.Linear(0f,0f,10f,1f);
clip.SetCurve("",typeof(Slider),"Value",curve);
anim.AddClip(clip,"move");
anim.Play("move");
}
Code language: C# (cs)
一見問題なさそうなこのコードですが,動きません.
エラーは出ないのですが,調べるとSliderの”Value”というところがMissingであるという情報は出てきます.
どうすればいいのでしょうか.
答えは簡単でしたが,すぐには思いつかないものでした.
clip.SetCurve("",typeof(Slider),"m_Value",curve);
Code language: JavaScript (javascript)
と,”Value”ではなく,”m_Value”とする必要があったみたいです.
正直全くなんでかはわかりませんが,Materialなど,他の要素をアニメーションにするときも”m_”を付けることで動く例がたくさんあるみたいですね.
難しいなぁ.
コメント