Unityを勉強し始めたばかりの初心者です。
被弾したときに左右に振動するというコードを書いてみたのですが、次のようなエラーが出ました。
Assets\Script\Enemy1System.cs(15,40): error CS1003: Syntax error, ',' expected
コードは下記のようなものです。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Enemy1System : MonoBehaviour 6{ 7 public GameObject target; 8 [SerializeField] float speed; 9 10 public GameObject effectPrefab; 11 public int enemyHP; 12 13 private IEnumerator shakeCoroutine() 14 { 15 while (OnTriggerEnter(Collider other) | OnTriggerStay(Collider other)) 16 { 17 Vector3 pos = this.gameObject.transform.position; 18 this.gameObject.transform.position = new Vector3(pos.x + 1, pos.y, pos.z); 19 20 21 for (int waitLoop = 0; waitLoop < 1.0f; waitLoop++) 22 { 23 yield return new WaitForFixedUpdate(); 24 } 25 26 Vector3 pos = this.gameObject.transform.position; 27 this.gameObject.transform.position = new Vector3(pos.x - 1, pos.y, pos.z); 28 29 30 for (int waitLoop = 0; waitLoop < 1.0f; waitLoop++) 31 { 32 yield return new WaitForFixedUpdate(); 33 } 34 } 35 } 36 37 private void Start() 38 { 39 40 } 41 42 private void OnTriggerEnter(Collider other) 43 { 44 if (other.gameObject.CompareTag("Beam")) 45 { 46 StartCoroutine(shakeCoroutine()); 47 48 enemyHP -= 1; 49 50 if (enemyHP == 0) 51 { 52 Destroy(transform.root.gameObject); 53 54 } 55 } 56 } 57 58 private void OnTriggerStay(Collider other) 59 { 60 if (other.gameObject.CompareTag("Beam")) 61 { 62 StartCoroutine(shakeCoroutine()); 63 64 enemyHP -= 1; 65 66 if (enemyHP == 0) 67 { 68 Destroy(transform.root.gameObject); 69 } 70 } 71 } 72 73 void Update() 74 { 75 transform.position = Vector3.MoveTowards(transform.position, target.transform.position, speed); 76 } 77}
どこを直せばよいか分からず困っています。直すべきところを教えてほしいです。
エラーが出たなら、エラーメッセージを提示しましょう
エラーメッセージは、いらぬ翻訳省略しないで、出たそのママをコピペで提示してください
回答2件
あなたの回答
tips
プレビュー