前提・実現したいこと
InputFieldに入力された文字を判定して別オブジェクトのアニメを切り替えたい。
発生している問題・エラーメッセージ
アニメーションが切り替わる文字列を入力してもアニメが切り替わりませんでした。
おそらくAnimatorコンポーネントをアタッチしてあるオブジェクトを参照できていないよというようなことを言われていると思うのですが調べてもいまいち解決策がわかりませんでした。
MissingComponentException: There is no 'Animator' attached to the "GameObject" game object, but a script is trying to access it. You probably need to add a Animator to the game object "GameObject". Or your script needs to check if the component is attached before using it. UnityEngine.Animator.SetTrigger (System.String name) (at <049be2afe36f487eb06ef49d51a0bab6>:0) Test.InputText () (at Assets/Script/Test.cs:38) UnityEngine.Events.InvokableCall.Invoke () (at <ee47be73f7ef409ca5e5ce4b121745b7>:0) UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) (at <ee47be73f7ef409ca5e5ce4b121745b7>:0) UnityEngine.UI.InputField.SendOnValueChanged () (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/InputField.cs:2161) UnityEngine.UI.InputField.Insert (System.Char c) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/InputField.cs:2138) UnityEngine.UI.InputField.Append (System.Char input) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/InputField.cs:2228) UnityEngine.UI.InputField.KeyPressed (UnityEngine.Event evt) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/InputField.cs:1770) UnityEngine.UI.InputField.OnUpdateSelected (UnityEngine.EventSystems.BaseEventData eventData) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/InputField.cs:1824) UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IUpdateSelectedHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:99) UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261) UnityEngine.EventSystems.EventSystem:Update() (at D:/unity/2019.4.10f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:377)
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.Linq; public class Test : MonoBehaviour { private Animator anim; public Animator targetAnimator; public InputField inputField; public Text text; void Start() { inputField = inputField.GetComponent<InputField>(); text = text.GetComponent<Text>(); targetAnimator = GetComponent<Animator>(); } public void InputText() { targetAnimator = GetComponent<Animator>(); string hikakutext = inputField.text; //通常会話 if (hikakutext.Contains("おはよう") || hikakutext.Contains("お早う")) { text.text = "おはよう。今日も一日頑張ろう!"; targetAnimator.SetTrigger("inputtxt"); }
試したこと
Animatorコンポーネントを作り直したりしたのですが何故コンポーネントを参照できていないのかわからずじまいでした…
補足情報(FW/ツールのバージョンなど)
バージョンはUnity 2019.4.10f1
言語はC#です
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/21 04:43