emre1035
Femtopat
- Katılım
- 20 Nisan 2023
- Mesajlar
- 40
Daha fazla
- Cinsiyet
- Erkek
AttımKodları atar mısınız?
Using unityengine;
Using System. Collections;
Using unityengine. UI;
Using unityengine. Scenemanagement;
Using System. Collections. Generic;
Using tmpro;
Using random = unityengine. Random;
Public class gamecontroller: Monobehaviour.
{
Public textmeshprouguı questiondisplaytext;
Public textmeshprouguı scoredisplaytext;
Public simpleobjectpool answerbuttonobjectpool;
Public transform answerbuttonparent;
Public gameobject questiondisplay;
Private datacontroller datacontroller;
Private rounddata currentrounddata;
Private questiondata[] questionPool;
private bool isRoundActive;
private int questionIndex;
private int playerScore;
private List<GameObject> answerButtonGameObjects = new List<GameObject>();
// Use this for initialization.
void Start()
{
dataController = FindObjectOfType<DataController>();
currentRoundData = dataController.GetCurrentRoundData();
questionPool = currentRoundData.questions;
{
playerScore = 0;
questionIndex = Random.Range(0, 4);
}
ShowQuestion();
isRoundActive = true;
}
private void ShowQuestion()
{
RemoveAnswerButtons();
QuestionData questionData = questionPool[questionIndex];
Questiondisplaytext. Text = questiondata. Questiontext;
For (int i = 0; i < questiondata. Answers. Length; i++)
{
Gameobject answerbuttongameobject = answerButtonObjectPool.GetObject();
Answerbuttongameobjects. Add(answerbuttongameobject);
Answerbuttongameobject. Transform. Setparent(answerbuttonparent);
Answerbutton answerbutton = answerButtonGameObject.GetComponent<AnswerButton>();
Answerbutton. Setup(questiondata. Answers);
}
}
Private Void RemoveAnswerButtons()
{
While (answerbuttongameobjects. Count > 0)
{
Answerbuttonobjectpool. Returnobject(answerbuttongameobjects[0]);
Answerbuttongameobjects. Removeat(0);
}
}
Public Void answerbuttonclicked(bool iscorrect)
{
Playerscore += currentrounddata. Pointsaddedforcorrectanswer;
Scoredisplaytext. Text = "score: " + playerScore.ToString();
Questionındex++;
ShowQuestion();
}
// Update is called once per frame.
Void Update()
{
}
}
Attım.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using TMPro;
using Random = UnityEngine.Random;
public class GameController : MonoBehaviour.
{
public TextMeshProUGUI questionDisplayText;
public TextMeshProUGUI scoreDisplayText;
public SimpleObjectPool answerButtonObjectPool;
public Transform answerButtonParent;
public GameObject questionDisplay;
private DataController dataController;
private RoundData currentRoundData;
private QuestionData[] questionPool;
private bool isRoundActive;
private int questionIndex;
private int playerScore;
private List<GameObject> answerButtonGameObjects = new List<GameObject>();
// Use this for initialization.
void Start()
{
dataController = FindObjectOfType<DataController>();
currentRoundData = dataController.GetCurrentRoundData();
questionPool = currentRoundData.questions;
playerScore = 0;
questionIndex = Random.Range(0, 2);
ShowQuestion();
isRoundActive = true;
}
private void ShowQuestion()
{
RemoveAnswerButtons();
QuestionData questionData = questionPool[questionIndex];
questionDisplayText.text = questionData.questionText;
for (int i = 0; i < questionData.answers.Length; i++)
{
GameObject answerButtonGameObject = answerButtonObjectPool.GetObject();
answerButtonGameObjects.Add(answerButtonGameObject);
answerButtonGameObject.transform.SetParent(answerButtonParent);
AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>();
answerButton.Setup(questionData.answers);
}
}
private void RemoveAnswerButtons()
{
while (answerButtonGameObjects.Count > 0)
{
answerButtonObjectPool.ReturnObject(answerButtonGameObjects[0]);
answerButtonGameObjects.RemoveAt(0);
}
}
public void AnswerButtonClicked(bool isCorrect)
{
playerScore += currentRoundData.pointsAddedForCorrectAnswer;
scoreDisplayText.text = "Score: " + playerScore.ToString();
questionIndex++;
ShowQuestion();
}
// Update is called once per frame.
void Update()
{
}
}
C#:using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.SceneManagement; using System.Collections.Generic; using TMPro; using Random = UnityEngine.Random; public class GameController : MonoBehaviour. { public TextMeshProUGUI questionDisplayText; public TextMeshProUGUI scoreDisplayText; public SimpleObjectPool answerButtonObjectPool; public Transform answerButtonParent; public GameObject questionDisplay; private DataController dataController; private RoundData currentRoundData; private QuestionData[] questionPool; private bool isRoundActive; private int questionIndex; private int playerScore; private List<GameObject> answerButtonGameObjects = new List<GameObject>(); // Use this for initialization. void Start() { dataController = FindObjectOfType<DataController>(); currentRoundData = dataController.GetCurrentRoundData(); questionPool = currentRoundData.questions; playerScore = 0; questionIndex = Random.Range(0, 2); ShowQuestion(); isRoundActive = true; } private void ShowQuestion() { RemoveAnswerButtons(); QuestionData questionData = questionPool[questionIndex]; questionDisplayText.text = questionData.questionText; for (int i = 0; i < questionData.answers.Length; i++) { GameObject answerButtonGameObject = answerButtonObjectPool.GetObject(); answerButtonGameObjects.Add(answerButtonGameObject); answerButtonGameObject.transform.SetParent(answerButtonParent); AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>(); answerButton.Setup(questionData.answers); } } private void RemoveAnswerButtons() { while (answerButtonGameObjects.Count > 0) { answerButtonObjectPool.ReturnObject(answerButtonGameObjects[0]); answerButtonGameObjects.RemoveAt(0); } } public void AnswerButtonClicked(bool isCorrect) { playerScore += currentRoundData.pointsAddedForCorrectAnswer; scoreDisplayText.text = "Score: " + playerScore.ToString(); questionIndex++; ShowQuestion(); } // Update is called once per frame. void Update() { } }
Dener misiniz?
"Argument 1: cannot convert from 'AnswerData[]' to 'AnswerData'"
şöyle bir sorun çıktı.
private void ShowQuestion()
{
RemoveAnswerButtons();
QuestionData questionData = questionPool[questionIndex];
questionDisplayText.text = questionData.questionText;
for (int i = 0; i < questionData.answers.Length; i++)
{
GameObject answerButtonGameObject = answerButtonObjectPool.GetObject();
answerButtonGameObjects.Add(answerButtonGameObject);
answerButtonGameObject.transform.SetParent(answerButtonParent);
AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>();
answerButton.Setup(questionData.answers[i]);
}
}
Sorun düzelmedibu metodu değiştir
C#:private void ShowQuestion() { RemoveAnswerButtons(); QuestionData questionData = questionPool[questionIndex]; questionDisplayText.text = questionData.questionText; for (int i = 0; i < questionData.answers.Length; i++) { GameObject answerButtonGameObject = answerButtonObjectPool.GetObject(); answerButtonGameObjects.Add(answerButtonGameObject); answerButtonGameObject.transform.SetParent(answerButtonParent); AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>(); answerButton.Setup(questionData.answers[i]); } }
Sorun düzelmedi.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
using TMPro;
using Random = UnityEngine.Random;
public class GameController : MonoBehaviour.
{
public TextMeshProUGUI questionDisplayText;
public TextMeshProUGUI scoreDisplayText;
public SimpleObjectPool answerButtonObjectPool;
public Transform answerButtonParent;
public GameObject questionDisplay;
private DataController dataController;
private RoundData currentRoundData;
private QuestionData[] questionPool;
private bool isRoundActive;
private int questionIndex;
private int playerScore;
private List<GameObject> answerButtonGameObjects = new List<GameObject>();
// Use this for initialization.
void Start()
{
dataController = FindObjectOfType<DataController>();
currentRoundData = dataController.GetCurrentRoundData();
questionPool = currentRoundData.questions;
playerScore = 0;
questionIndex = Random.Range(0, 2);
ShowQuestion();
isRoundActive = true;
}
private void ShowQuestion()
{
RemoveAnswerButtons();
QuestionData questionData = questionPool[questionIndex];
questionDisplayText.text = questionData.questionText;
for (int i = 0; i < questionData.questionAnswers.Length; i++)
{
GameObject answerButtonGameObject = answerButtonObjectPool.GetObject();
answerButtonGameObjects.Add(answerButtonGameObject);
answerButtonGameObject.transform.SetParent(answerButtonParent);
AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>();
answerButton.Setup(questionData.questionAnswers[i]);
}
}
private void RemoveAnswerButtons()
{
while (answerButtonGameObjects.Count > 0)
{
answerButtonObjectPool.ReturnObject(answerButtonGameObjects[0]);
answerButtonGameObjects.RemoveAt(0);
}
}
public void AnswerButtonClicked(bool isCorrect)
{
playerScore += currentRoundData.pointsAddedForCorrectAnswer;
scoreDisplayText.text = "Score: " + playerScore.ToString();
questionIndex++;
ShowQuestion();
}
// Update is called once per frame.
void Update()
{
}
}
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.