Pegar uma informação do banco de dados e visualizar na scene da Unity
+3
oscar gonzalex
Weslley
Nina87
7 participantes
Página 1 de 1
Pegar uma informação do banco de dados e visualizar na scene da Unity
Olá, iniciei meus estudos em programação este ano, estou estudando c#, e tentando fazer um jogo simples de perguntas e respostas utilizando Unity e o banco de dados MySQL.
Eu consegui fazer a conexão da Unity com o MySQL e usei o Debug.Log para testar. A pergunta e as respostas aparecem no console da Unity, mas eu gostaria de mostra-las na Scene da unity, eu pesquisei e testei algumas coisas, mas não deram certo, talvez eu não tenha feito a pergunta da forma correta. Eu tentei utilizar GUI.Text e GUI.Label, mas ainda não obtive resultado. Segue o meu código se alguém puder me ajudar ficarei muita grata. Abs!
Eu consegui fazer a conexão da Unity com o MySQL e usei o Debug.Log para testar. A pergunta e as respostas aparecem no console da Unity, mas eu gostaria de mostra-las na Scene da unity, eu pesquisei e testei algumas coisas, mas não deram certo, talvez eu não tenha feito a pergunta da forma correta. Eu tentei utilizar GUI.Text e GUI.Label, mas ainda não obtive resultado. Segue o meu código se alguém puder me ajudar ficarei muita grata. Abs!
- Código:
using UnityEngine;
using System.Collections;
using MySql.Data.MySqlClient;
using System.Text;
using System.Collections.Generic;
using UnityEngine.UI;
public class pergunta : MonoBehaviour
{
private string conectar;
private MySqlConnection conexao;
// Use this for initialization
void Start()
{
conectar = "Server=localhost;Database=questoes;Uid=root;Pwd=1234;";
ConectarBanco(conectar);
Listar(conexao);
}
void ConectarBanco(string _conectar)
{
conexao = new MySqlConnection(_conectar);
conexao.Open();
}
void Listar(MySqlConnection _conecao)
{
MySqlCommand comando = _conecao.CreateCommand();
comando.CommandText = "Select * from pergunta"; // verificar tabela
MySqlDataReader dados = comando.ExecuteReader();
while (dados.Read())
{
string questoes = (string)dados["pergunta1"];
string alternativaA = (string)dados["respostaA"];
string alternativaB = (string)dados["respostaB"];
string alternativaC = (string)dados["respostaC"];
string alternativaD = (string)dados["respostaD"];
Debug.Log(questoes);
Debug.Log(alternativaA);
Debug.Log(alternativaB);
Debug.Log(alternativaC);
Debug.Log(alternativaD);
}
}
void OnGUI()
{
GUI.Label(new Rect(40, 60, 100, 50), "questoes");
}
}
Nina87- Iniciante
- PONTOS : 3269
REPUTAÇÃO : 0
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
okay Vamos Crie um Canvas adicione 2 text e set os text em seu respectivos lugares
Basta acessar o text e passar uma string
Basta acessar o text e passar uma string
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
public class pergunta : MonoBehaviour
{
private string conectar;
private MySqlConnection conexao;
public Text question;
public Text answer;
void Start()
{
conectar = "Server=localhost;Database=questoes;Uid=root;Pwd=1234;";
ConectarBanco(conectar);
Listar(conexao);
}
void ConectarBanco(string _conectar)
{
conexao = new MySqlConnection(_conectar);
conexao.Open();
}
void Listar(MySqlConnection _conecao)
{
MySqlCommand comando = _conecao.CreateCommand();
comando.CommandText = "Select * from pergunta";
MySqlDataReader dados = comando.ExecuteReader();
while (dados.Read())
{
string questoes = (string)dados["pergunta1"];
string alternativaA = (string)dados["respostaA"];
string alternativaB = (string)dados["respostaB"];
string alternativaC = (string)dados["respostaC"];
string alternativaD = (string)dados["respostaD"];
question.text = questoes;
answer.text = alternativaA + "\n" + alternativaB + "\n" + alternativaC + "\n" + alternativaD;
}
}
}
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
Muito obrigada! Testei e deu certo, era isso mesmo que eu queria. Abs!!!
Nina87- Iniciante
- PONTOS : 3269
REPUTAÇÃO : 0
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
:DNina87 escreveu:Muito obrigada! Testei e deu certo, era isso mesmo que eu queria. Abs!!!
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
alguém pode me ajudar a Embaralhar as perguntas
oscar gonzalex- Iniciante
- PONTOS : 3025
REPUTAÇÃO : 0
Idade : 27
Áreas de atuação : Design, Modelagen
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
oscar gonzalex escreveu:alguém pode me ajudar a Embaralhar as perguntas
Talvez esta aula lhe ajude:
O que você tem que fazer é básicamente sortear um número e buscar a respectiva variável do banco de dados
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
Alguem me ajuda depois de responder gostaria de dar um pouco de tempo para aproxima pergunta e uma transição lenta
oscar gonzalex- Iniciante
- PONTOS : 3025
REPUTAÇÃO : 0
Idade : 27
Áreas de atuação : Design, Modelagen
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
oscar gonzalex escreveu:Alguem me ajuda depois de responder gostaria de dar um pouco de tempo para aproxima pergunta e uma transição lenta
Tente usar IEnumerator
- Código:
// Chame o IEnumerator com
StartCourotine ("Nomequalquer");
IEnumerator Nomequalquer (){
yield return new WaitForSeconds (Segundos);
}
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
muito obrigado PauloFR
Como é que faço para baralhar as alternativas??
Como é que faço para baralhar as alternativas??
oscar gonzalex- Iniciante
- PONTOS : 3025
REPUTAÇÃO : 0
Idade : 27
Áreas de atuação : Design, Modelagen
Respeito as regras :
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
Mesma coisa das perguntas :/oscar gonzalex escreveu:muito obrigado PauloFR
Como é que faço para baralhar as alternativas??
Se for tipo cada botão em um lado da tela ai já n sei te explicar de um modo que funcione mas provavelmente é a mesma coisa do random só q em posições...
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
Nina87 escreveu:Olá, iniciei meus estudos em programação este ano, estou estudando c#, e tentando fazer um jogo simples de perguntas e respostas utilizando Unity e o banco de dados MySQL.
Eu consegui fazer a conexão da Unity com o MySQL e usei o Debug.Log para testar. A pergunta e as respostas aparecem no console da Unity, mas eu gostaria de mostra-las na Scene da unity, eu pesquisei e testei algumas coisas, mas não deram certo, talvez eu não tenha feito a pergunta da forma correta. Eu tentei utilizar GUI.Text e GUI.Label, mas ainda não obtive resultado. Segue o meu código se alguém puder me ajudar ficarei muita grata. Abs!
- Código:
using UnityEngine;
using System.Collections;
using MySql.Data.MySqlClient;
using System.Text;
using System.Collections.Generic;
using UnityEngine.UI;
public class pergunta : MonoBehaviour
{
private string conectar;
private MySqlConnection conexao;
// Use this for initialization
void Start()
{
conectar = "Server=localhost;Database=questoes;Uid=root;Pwd=1234;";
ConectarBanco(conectar);
Listar(conexao);
}
void ConectarBanco(string _conectar)
{
conexao = new MySqlConnection(_conectar);
conexao.Open();
}
void Listar(MySqlConnection _conecao)
{
MySqlCommand comando = _conecao.CreateCommand();
comando.CommandText = "Select * from pergunta"; // verificar tabela
MySqlDataReader dados = comando.ExecuteReader();
while (dados.Read())
{
string questoes = (string)dados["pergunta1"];
string alternativaA = (string)dados["respostaA"];
string alternativaB = (string)dados["respostaB"];
string alternativaC = (string)dados["respostaC"];
string alternativaD = (string)dados["respostaD"];
Debug.Log(questoes);
Debug.Log(alternativaA);
Debug.Log(alternativaB);
Debug.Log(alternativaC);
Debug.Log(alternativaD);
}
}
void OnGUI()
{
GUI.Label(new Rect(40, 60, 100, 50), "questoes");
}
}
alguem poderia disponibilziar o Mysql.dll? Eu tentei usar esse codigo de conexao e não consegui:
Assets/Scripts/recebedados.cs(3,7): error CS0246: The type or namespace name `MySql' could not be found. Are you missing a using directive or an assembly reference?
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
Aqui parceiro.. Nesse tutorial, nosso amigo disponibiliza essa dll!
https://www.schultzgames.com/t1788-tutorial-banco-de-dados-mysql
https://www.schultzgames.com/t1788-tutorial-banco-de-dados-mysql
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
vlw!marcos4503 escreveu:Aqui parceiro.. Nesse tutorial, nosso amigo disponibiliza essa dll!
https://www.schultzgames.com/t1788-tutorial-banco-de-dados-mysql
Re: Pegar uma informação do banco de dados e visualizar na scene da Unity
fecirineu escreveu:vlw!marcos4503 escreveu:Aqui parceiro.. Nesse tutorial, nosso amigo disponibiliza essa dll!
https://www.schultzgames.com/t1788-tutorial-banco-de-dados-mysql
to com uma duvida alguem poderia me ajuda?
como faço para em vez de ele me retorna uma missão ele me retornar todas as missões que tenho no servidor?
eu tenho 20 missoes no eu servidor , mais ela me retorna so a primeira missao encontrada. se eu colocar no debug.log ou print ela aparece todas mais quando eu coloco em text ela so me retorna a primeira.
[list=linenums]
[*]while (dados.Read())
[*] {
[*] string missoes = (string)dados["missoes"];
[*]missoes.text = missoes;
[*]}
[/list]
Tópicos semelhantes
» Como pegar a informação de uma scene, se esta ativa ou não?
» Como Passar ou pegar Informação De Um Inputfield
» Unity - Scene Pesada são os Scripts. Ajuda!
» Receber dados de um banco de dados e escrever em unity
» Como pegar dados do DB Mysql do player depois do Login?
» Como Passar ou pegar Informação De Um Inputfield
» Unity - Scene Pesada são os Scripts. Ajuda!
» Receber dados de um banco de dados e escrever em unity
» Como pegar dados do DB Mysql do player depois do Login?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos