En este momento estás viendo unidad de juego de preguntas

 – Unity

unidad de juego de preguntas – Unity

Unity de juego de preguntas

– UnityAssets3Free

buenas , me llamo Daniel y en esta ocasion os traigo
nueva pregunta curiosa

Estoy tratando de hacer un juego de preguntas simple con Unity3D y Visual Studio 2019 y tengo problemas con estos errores de código. No puedo entender dónde me estoy equivocando. Adjunto está mi código y una captura de pantalla de los errores de código, cualquier ayuda sería muy apreciada.

Esta es la «parte de uso», declaré «Sistema»

Using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;

Esta parte es de un tutorial que estaba siguiendo, funcionó en «aplicaciones de formularios de Windows, visual studio» pero necesito convertirlo a unity y ahí es donde estoy teniendo problemas

namespace Quiz_game

    public partial class Quiz
    
        public GameObject Question;
        public GameObject Option01;
        public GameObject Option02;
        public GameObject Option03;
        public GameObject Option04;
        public int CorrectAnswer;
        private int questionNumber;
        private int score;
        private int percentage;
        private int totalQuestions;

        private void checkAnswerEvent(object sender, EventArgs e)
        
            var senderObject = (Button)sender;
            int buttontag = Convert.ToInt32(senderObject.Tag);

            if (buttontag == CorrectAnswer)
            
                score++;
            
            if (questionNumber == totalQuestions)
            
                //work out the percentage
                percentage = (int)Math.Round((double)(score * 100) / totalQuestions);


                MessageBox.Show(
                  "Quiz Ended" + Environment.NewLine + "You have answered " + score + " question(s) correctly" + Environment.NewLine + "Your total percentage is " + percentage + "%" + Environment.NewLine + "Click OK to play again"
                  );
                score = 0;
                questionNumber = 0;
                askQuestion(questionNumber);
            
            questionNumber++;
            askQuestion(questionNumber);
        


        private void askQuestion(int qnum)
        
            switch (qnum)
            
                case 1:
                    Question.Text = "What does solution mean?";
                    Option01.Text = "a homogenous mixture that is used for oral, parental, or external purposes";
                    Option02.Text = "blue";
                    Option03.Text = "orange";
                    Option04.Text = "yellow";
                    CorrectAnswer = 1;
                    break;
            
        
    

1 respuesta 1

  • MessageBox es parte de System.Windows.Forms – No veo que uses este espacio de nombres ni creo que sea compatible con Unity (puede estar mal en la segunda parte) y/o al menos no debería usarse.

    En su lugar, cree su propia ventana emergente de diálogo utilizando el sistema de interfaz de usuario de Unity.

  • UnityEngine.UI.Button realmente no tengo Tag. probablemente te refieres tag.

    Sin embargo, este es un string como por ejemplo "SomeTag" y no simplemente convertirse en un int usando Convert.ToInt32 … entonces deberías usar la cadena y hacer

    public string CorrectAnswerTag;
    

    y

    if(senderObject.CompareTag(CorrectAnswerTag))
    
  • Y bueno no, GameObject no hay ninguno Text …probablemente prefiera que sus campos tengan los tipos correctos

    public Text Question;
    public Text Option1;
    public Text Option2;
    public Text Option3;
    public Text Option4;
    

Te sugiero que hagas tu camino a través Unity Learn: componentes de la interfaz de usuario

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

eso es todo,hasta la proxima

Deja una respuesta