スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    [Unity]AnimatorのSetBoolでNullReferenceExceptionが表示される

    これは意味不明
    AnimatorのSetBoolでNullReferenceExceptionが表示された
    もちろん、パラメータ名やオブジェクト名が間違っているわけではない
    さらに、別の名前に変えても表示されるし、GetBool,SetInteger,SetFloatにしても同じだった

    私の解決方法
    Start内でGetComponent()していたものを
    Awake内でする。

    私の場合
    void Start(){
    up_arrow = GameObject.Find ("arrow_up").GetComponent();
    }
    だったものを
    void Awake(){
    up_arrow = GameObject.Find ("arrow_up").GetComponent();
    }
    にしたら正常になった(うわ、名前が逆とかww)

    意味不明過ぎる
    AwakeとStartの違いについてちゃんと考える必要がありそうだ

    記事を書いていたら落ち着いてきた
    おそらく、この矢印はシーンを開いた瞬間からアニメーションしているので、Startだと間に合わなかったのだろう
    もうそれでいいよ、考えたくない。これで何時間悩んだか。

    ところで、つまり常にAwakeを使ったほうが安全ということなのだろうか??
    http://docs-jp.unity3d.com/Documentation/Manual/ExecutionOrder.html
    公式にちゃんと書いてありました
    うーん、分からん

    以下個人的な解釈の記事を追記
    startとAwakeの簡単な違い
    スポンサーサイト

    コメントの投稿

    非公開コメント

    プロフィール

    秋歩

    Author:秋歩
    飽きやすくて色々手を出す残念素人です

    アクセスカウンター
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。