前提
C#で十字キーが入力されると、カウントアップなシステムを作っています。
エラーメッセージは発生しないのですが、
実現したいこと
- 十字キーで入力された回数分Aに+1し、合計が10になれば(十字キーが合計10回入力されたら)"ContinueScene"に遷移する機能を動作するようにする
発生している問題・エラーメッセージ
カウントアップ(A++)がされない
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.SceneManagement; 5 6public class Move : MonoBehaviour 7{ 8 void Update() 9 { 10 int A = 0; 11 if (Input.GetKeyDown(KeyCode.UpArrow)) 12 { 13 A++; 14 this.transform.Translate(0, 0, 1); 15 } 16 if (Input.GetKeyDown(KeyCode.DownArrow)) 17 { 18 this.transform.Translate(0, 0, -1); 19 A++; 20 } 21 if (Input.GetKeyDown(KeyCode.RightArrow)) 22 { 23 this.transform.Translate(1, 0, 0); 24 A++; 25 } 26 if (Input.GetKeyDown(KeyCode.LeftArrow)) 27 { 28 this.transform.Translate(-1, 0, 0); 29 A++; 30 } 31 if (A >= 10) 32 { 33 SceneManager.LoadScene("ContinueScene"); 34 } 35 } 36}
試したこと
・if文の外でグローバル変数としてA=0と宣言しているため、十字キーがいくら入力されてもif文の外に出ると、A=0となっているためSceneManagerが実行されないかと考え
int A = 0;をint A ;に変えたがerror CS0165: Use of unassigned local variable 'A'と出て実行出来ませんでした。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/22 01:28 編集