質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1005閲覧

コンパイルエラーが出ているが、どこに;を打てばいいか分からない。

she3

総合スコア3

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/10/06 16:20

前提・実現したいこと

行の末尾全部に;を打っているはずなのですが、;をうってくださいと出ていて分からない。

発生している問題・エラーメッセージ

Assets\Scenes\SampleSceneScript.cs(153,22): error CS1002: ; expected

該当のソースコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using System.Timers; 6 7public class SampleSceneScript : MonoBehaviour 8{ 9 //フラグ変数。各キャラの破壊フラグ 10 Dictionary<string, bool> flag = new Dictionary<string, bool>() 11 { 12 {"Enemy", false} 13 }; 14 15 //パラメーター変数。 16 Dictionary<string, int> param = new Dictionrary<string, int>() 17 { 18 {"power", 100},//体力 19 {"level", 1},//レベル 20 {"exp", 0}//経験値 21 }; 22 23 bool finish = false;//ゲーム終了フラグ 24 25 Vector2 cv = new Vector2(0f, 1f);//カメラ位置 26 Rigidbody rb = null;//リジッドボディー 27 Text message = null;//テキスト表示用UI 28 29 //初期化処理 30 void Start() 31 { 32 rb = GetComponent<Rigidbody>(); 33 message = GameObject.Find("Message").GetComponent<Text>(); 34 } 35 36 //表示の更新 37 void FixedUpdate() 38 { 39 if (finish()) { return; }//ゲーム終了時は抜ける 40 //カメラ位置の設定 41 var sv = trasform.position; 42 sv.y = 1f; 43 Camera.main.transform.position = sv + cv; 44 //入力処理 45 var x = Input.GetAxis("Horizontal"); 46 var y = Input.GetAxis("Vertical"); 47 //var d=(float)(2.0+param["level"]/2); 48 var v = new Vector2(x * param["level"], 0); 49 //プレイヤーを動かす 50 rb.AddForce(v); 51 } 52 53 //レベルを得る 54 public int Level() 55 { 56 return param["level"]; 57 } 58 59 //ゲーム終了かどうか 60 public bool Finish() 61 { 62 return finish; 63 } 64 65 //経験値をふやす 66 public void AddExp(int n) 67 { 68 param["exp"] += n; 69 if (param["exp"] >= 10) 70 {//10以上ならレベルアップ 71 levelUp(); 72 } 73 } 74 75 //戦闘(戦闘時) 76 void Fight(GameObject go) 77 { 78 var er = go.GetComponent<Rigidbody>(); 79 var pr = GetComponent<Rigidbody>(); 80 var od = er.GetComponent<PPP>(); 81 //magnitudeを比べて勝ち 82 if (er.velocity.magnitude > pr.velocity.magnitude) 83 {//負けた時の処理 84 Debug.Log("Player: Loss..."); 85 param["power"] -= od.Level(); 86 AddExp(od.Level() / 2); 87 if (param["power"] <= 0) 88 {//体力ゼロ以下ならゲームオーバー 89 Loss(); 90 } 91 } 92 else 93 {//勝った時の処理 94 Debug.Log("Player: Gotcha!"); 95 AddExp(od.Level()); 96 } 97 } 98 99 //衝突時の処理 100 void OnCollisionEnter2D(Collision2D collision) 101 { 102 if (Finish()) { return; }//終了時は抜ける 103 if (collision.gameObject.tag == "Other") 104 {//Otherタグ(敵キャラ)と衝突したとき 105 var data = collision.gameObject.GetComponent<PPP>(); 106 Fight(collision.gameObject); 107 } 108 } 109 110 //指定のフラグをONにする 111 public void Flag(string flg) 112 { 113 flag[flg] = true; 114 if (CheckFlag()) 115 {//フラグをチェックし、trueなら終了 116 Win(); 117 } 118 } 119 120 //フラグをチェック 121 bool CheckFlag() 122 { 123 var f = true; 124 foreach(var item in flag) 125 {//flagの全値をチェック 126 if (item.Value == false) 127 { 128 f = false; 129 } 130 } 131 return f;//全てtrueならtrue 132 } 133 134 //レベルアップ 135 void levelUp() 136 { 137 if (param["level"] == 5) { return; }//終了時は抜ける 138 param["level"]++;//レベルを増やす 139 param["exp"] = 0;//経験値を増やす 140 message.text = "Level" + param["level"];//テキスト表示 141 TimerStart();//タイマー開始 142 } 143 144 //タイマー開始 145 void TimerStart() 146 { 147 StartCoroutine(TimerEnd());//TimerEndを設定 148 } 149 150 //タイマーで実行する処理 151 IEnumerator TimerEnd() 152 { 153 yeild retrun new WaitForSeconds(3f);//3秒待つ 154 message.text = "";//表示テキストを消す 155 } 156 157 //負けの処理 158 void Loss() 159 { 160 message.text = "GAME OVER"; 161 finish = true;//終了フラグをtrueに 162 } 163 164 //勝ちの処理 165 void Win() 166 { 167 message.text = "WIN!!"; 168 finish = true;//終了フラグをtrueに 169 } 170}

試したこと

エラーが出ている153行の22列目に;を打ったが、他のエラーが出てしまった。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

綴りが違うのではないでしょうか?

誤)retrun
正)return

投稿2021/10/06 16:27

cx20

総合スコア4633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

she3

2021/10/06 16:39

ほんとにすみません。おっしゃる通りでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問