おはようございます。Unity,プログラミング共に初心者でアンドロイドアプリを作成している者です。
現在クイズアプリを作っているのですが写真中央やや左にある灰色のテキスト内に写真右側のインスペクター内で作成したエレメント(単語)を順番通りに表示させる事が出来ずに困っています。初歩的なつまずきなのは承知していますがアドバイスを頂けないでしょうか?
インスペクター内のC#スクリプト(Cube Manager)に5つのエレメント(Cube, Flower, Ladder, Horse, Storm)を作成したのですがGame画面のTextの部分に順序通り表示させる事が出来ない状態にいます。私がYoutubeで参考にした2種類のクイズアプリ作成動画ではRandom.Rangeを使った表示方法を使用しており手元にあるC#書籍でも調べたのですが自分の求める答えが見つからなかったので質問させて頂きました。
以下インスペクター内で使用しているC#Script(Cube Manager)の詳細です。コード中央部にあるvoid SetCurrentQuestion()内の
int randomQuestionIndex = Random.Range(0, unansweredQuestions.Count);
を変更すれば順番通りに表示させる事ができると考えているのですが、どうアプローチするべきでしょうか?
public class CubeManager : MonoBehaviour { public Question[] questions; private static List<Question> unansweredQuestions; private Question currentQuestion; [SerializeField] private Text factText; //[SerializeField] //private float timeBetweenQuestions = 0f; void Start() { if (unansweredQuestions == null || unansweredQuestions.Count == 0) { unansweredQuestions = questions.ToList<Question>(); } SetCurrentQuestion(); Debug.Log(currentQuestion.fact); } void SetCurrentQuestion() { int randomQuestionIndex = Random.Range(0, unansweredQuestions.Count); currentQuestion = unansweredQuestions[randomQuestionIndex]; factText.text = currentQuestion.fact; unansweredQuestions.RemoveAt(randomQuestionIndex); } IEnumerator TransitionToNextQuestion() { unansweredQuestions.Remove(currentQuestion); yield return new WaitForSeconds(0f); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } public void NextBtn() { StartCoroutine(TransitionToNextQuestion()); } public void BackBtn() { StartCoroutine(TransitionToNextQuestion()); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/06 08:11
2019/10/06 08:13