Unity5学習の際の覚え書き。

AnimationClipのエラー

ソースコード

public class myscript : MonoBehaviour {

	void Start () {
		GameObject.Find ("GUI Text").GetComponent<GUIText>().text = "AnimationClip sample";
		AnimationClip clip = new AnimationClip ();
		AnimationCurve curve = AnimationCurve.Linear (0f, 3f, 3f, 3f);
		Keyframe key = new Keyframe (1.5f, 7f);
		curve.AddKey (key);
		clip.SetCurve ("", typeof(Transform), "localPosition.z", curve);
		clip.wrapMode = WrapMode.Loop;
		GetComponent<Animation>().AddClip (clip, "clip1");
		GetComponent<Animation>().Play ("clip1");
	}

	void Update () {
		transform.Rotate (1f, 1f, 1f);
	}
}

上記の
GetComponent<Animation>().AddClip (clip, "clip1");
GetComponent<Animation>().Play ("clip1");
ってところがエラーでてます。

エラー内容はやんわりとしか覚えていませんが、
  • Legasyというのにしないといけない?
  • Animationが見つからない?
なんかそんな感じでした。

成功例

ソースコード

using UnityEngine;
using System.Collections;

public class Animation2 : MonoBehaviour {

    // Use this for initialization
    void Start () {
        GameObject.Find("GUI Text").GetComponent<GUIText>().text = "AnimationClip sample";
        AnimationClip clip = new AnimationClip();
        AnimationCurve curve = AnimationCurve.Linear(0f, 3f, 3f, 3f);
        Keyframe key = new Keyframe(1.5f, 7f);
        curve.AddKey(key);
        clip.SetCurve("", typeof(Transform), "localPosition.z", curve);
        clip.wrapMode = WrapMode.Loop;
        GetComponent<Animation>().AddClip(clip, "clip1");
        GetComponent<Animation>().Play("clip1");
    }

    // Update is called once per frame
    void Update () {
        transform.Rotate(1f, 1f, 1f);
    }
}

このページへのコメント

上記ソースで特に問題なく動きました。
考えられるのは、“Animation” というクラスを自分で作ってしまっているとか・・・。

0
Posted by O氏 2015年08月05日(水) 00:07:49 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】
Wiki記法ガイド

リンク

ゲームバー大阪心斎橋

ゲームバー大阪梅田

ゲームバー大阪心斎橋

ダーツ&ダイニングバー大阪梅田

メニュー

Unity


スマホ操作

Unity - GameObject

Unity - 3DCG

メンバーのみ編集できます