Unity QnA oyununda soru 1'de şarkı çalmıyor

Kernel60Hz

Decapat
Katılım
22 Nisan 2023
Mesajlar
221
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Bu kodda QnA kısmındaki element 0'da şarkı çalmıyor şarkı çalmaya element 1'den başlatıyor.
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneManagement;

public class QuizManager : MonoBehaviour
{
    public List<QnA> qna;
    public GameObject[] options;
    public int currentQuestion;

    public GameObject Quizpanel;
    public GameObject GoPanel;

    [SerializeField] private TMP_Text QuestionTxt;
    [SerializeField] private TMP_Text ScoreTxt;

    public AudioSource audioSource;
    public List<AudioClip> songs;

    int totalQuestions = 0;
    public int score;

    private void Start()
    {
        totalQuestions = qna.Count;
        GoPanel.SetActive(false);
        currentQuestion = 0;
        generateQuestion();
    }

    public void Retry()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }

    public void Menu()
    {
        SceneManager.LoadScene(0);
    }

    void GameOver()
    {
        Quizpanel.SetActive(false);
        GoPanel.SetActive(true);
        ScoreTxt.text = score + "/" + totalQuestions;
    }

    public void correct()
    {
        score += 1;
        qna.RemoveAt(currentQuestion);
        PlayNextSong();

        if (qna.Count == 0)
        {
            GameOver();
        }
        else
        {
            generateQuestion();
        }
    }

    public void wrong()
    {
        qna.RemoveAt(currentQuestion);
        PlayNextSong();

        if (qna.Count == 0)
        {
            GameOver();
        }
        else
        {
            generateQuestion();
        }
    }

    void SetAnswers()
    {
        for (int i = 0; i < options.Length; i++)
        {
            options[i].GetComponent<AnswerScript>().isCorrect = false;
            options[i].transform.GetChild(0).GetComponent<TMP_Text>().text = qna[currentQuestion].Answers[i];

            if (qna[currentQuestion].CorrectAnswer == i + 1)
            {
                options[i].GetComponent<AnswerScript>().isCorrect = true;
            }
        }
    }

    void PlayNextSong()
    {
        if (songs.Count > 0)
        {
            audioSource.Stop();
            audioSource.clip = songs[0];
            audioSource.Play();
            songs.RemoveAt(0);
        }
    }

    void generateQuestion()
    {
        if (qna.Count > 0)
        {
            if (currentQuestion < qna.Count)
            {
                QuestionTxt.text = qna[currentQuestion].Question;
                SetAnswers();
            }
            else
            {
                Debug.Log("Sorular Bitti");
                GameOver();
            }
        }
    }
}
 

Technopat Haberler

Yeni konular

Geri
Yukarı