[DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
3 participantes
Página 1 de 1
[DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
Queria saber como consigo fazer um contador de pontos para as moedas.
Ja tenho as moedas e o script para ela e para o personagem coletar ela agora queria que ao coletar a moeda contasse ponto
Ja tenho as moedas e o script para ela e para o personagem coletar ela agora queria que ao coletar a moeda contasse ponto
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
na moeda você vai colocar uma função de contagem de pontos, ou seja, acrescentar unidades na variavel "pontos" do script que contem esta variavel...
Usando a função OnTriggerEnter, você adiciona 1 ponto a variavel com o comando:
NomeDoScript.NomeDaVariavel = NomeDoScript.NomeDaVariavel +1;
Destroy (gameObject);
e no script que contem a variavel pontos você terá que usar um GUILabel para converter a veriavel para texto...
poste os 2 scripts ai que eu arrumo eles...
Usando a função OnTriggerEnter, você adiciona 1 ponto a variavel com o comando:
NomeDoScript.NomeDaVariavel = NomeDoScript.NomeDaVariavel +1;
Destroy (gameObject);
e no script que contem a variavel pontos você terá que usar um GUILabel para converter a veriavel para texto...
poste os 2 scripts ai que eu arrumo eles...
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
Vamos a um exemplo prático em C#
Crie um script em C# com o nome " MOEDAS " e coloque ele em uma moeda ( a moeda tem que ter um colisor com a opção trigger marcada )
Agora crie um outro script em C# com o nome " CONTADOR " e coloque este codigo... e coloque o script no seu player.
Depois crie um GUIText ( GameObject > Create Other > GUIText ) e jogue na variavel " pontostext "
veja o resultado... a variavel recebe + 1 toda vez que voce pega uma moeda...
Crie um script em C# com o nome " MOEDAS " e coloque ele em uma moeda ( a moeda tem que ter um colisor com a opção trigger marcada )
- Código:
using UnityEngine;
using System.Collections;
public class MOEDAS : MonoBehaviour {
void OnTriggerEnter (){
CONTADOR.pontos = CONTADOR.pontos + 1;
Destroy (gameObject);
}
}
Agora crie um outro script em C# com o nome " CONTADOR " e coloque este codigo... e coloque o script no seu player.
- Código:
using UnityEngine;
using System.Collections;
public class CONTADOR : MonoBehaviour {
public static int pontos;
public GUIText pontostext;
void Start () {
pontos = 0;
}
void Update () {
pontostext.text = "PONTOS:" + pontos;
}
}
Depois crie um GUIText ( GameObject > Create Other > GUIText ) e jogue na variavel " pontostext "
veja o resultado... a variavel recebe + 1 toda vez que voce pega uma moeda...
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
script1
using UnityEngine;
using System.Collections;
public class script1 : MonoBehaviour {
public static int coin;
void Start () {
coin = 0;
}
void Update () {
}
}
meu script 2 ta assim :
using UnityEngine;
using System.Collections;
public class script2 : MonoBehaviour {
public AudioClip collect;
void OnTriggerEnter2D (Collider2D other)
{
// If the player enters the trigger zone...
if(other.tag == "Player")
script1.coin++;
AudioSource.PlayClipAtPoint(collect,transform.position);
Destroy(transform.root.gameObject);
}
}
using UnityEngine;
using System.Collections;
public class script1 : MonoBehaviour {
public static int coin;
void Start () {
coin = 0;
}
void Update () {
}
}
meu script 2 ta assim :
using UnityEngine;
using System.Collections;
public class script2 : MonoBehaviour {
public AudioClip collect;
void OnTriggerEnter2D (Collider2D other)
{
// If the player enters the trigger zone...
if(other.tag == "Player")
script1.coin++;
AudioSource.PlayClipAtPoint(collect,transform.position);
Destroy(transform.root.gameObject);
}
}
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
apenas altere os script 1 para isso:
Crie um GUIText ( GameObject > Create Other > GUIText ) e depois jogue este guitext na variavel "pontostext"
Tenta ai...
- Código:
using UnityEngine;
using System.Collections;
public class script1 : MonoBehaviour {
public static int coin;
public GUIText pontostext;
void Start () {
coin = 0;
}
void Update () {
pontostext.text = "PONTOS:" + coin;
}
}
Crie um GUIText ( GameObject > Create Other > GUIText ) e depois jogue este guitext na variavel "pontostext"
Tenta ai...
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
vou tentar daqui a pouco.
mas na versao beta 4.6 nao achei esse guitext
mas na versao beta 4.6 nao achei esse guitext
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
Eita, tu ta na versão 4.6... isso vai da tretas...
Ainda não baixei essa versão pois é Beta e tem vários bugs segundo o proprio site da Unity...
vou esperar sair uma versão 4.6.x sem bugs para baixar e ver como é.
Más você pode criar um objeto vazio e depois adicionar um conponente, apenas digite GUITEXT naquela aba de pesquisa lá...
Ainda não baixei essa versão pois é Beta e tem vários bugs segundo o proprio site da Unity...
vou esperar sair uma versão 4.6.x sem bugs para baixar e ver como é.
Más você pode criar um objeto vazio e depois adicionar um conponente, apenas digite GUITEXT naquela aba de pesquisa lá...
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
blz vou testar depois vlw
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
cara ele ate funciona mas nao aparece o numero na tela ja botei fonte ja mudei o material a cor e nada mas ta funcionando.
se eu coleto a moeda e clico no gameobject ele ta contando mas nao aparece na tela
se eu coleto a moeda e clico no gameobject ele ta contando mas nao aparece na tela
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
O problema é que voce está usando Unity 4.6...
Jogou o gameobject na variavel "pontostext" ???
se não funcionou talvez você tenha que achar onde se cria o GUIText na unity 4.6...
Jogou o gameobject na variavel "pontostext" ???
se não funcionou talvez você tenha que achar onde se cria o GUIText na unity 4.6...
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
vou dar uma olhada nisso mais tarde
vlw
vlw
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
- Código:
using UnityEngine;
using System.Collections;
public class script1 : MonoBehaviour {
public static int coin;
public GUIText pontostext;
void Start () {
coin = 0;
}
void Update () {
pontostext.text = "PONTOS:" + coin;
}
}
Última edição por MarcosSchultz em Qua Ago 10, 2016 11:55 pm, editado 1 vez(es)
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
cara parou de funcionar eu salvei o projeto e fechei aquele dia fui abri hoje para tentar arrumar mas nao conta mais
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
conferiu se o texto continua linkado na variavel??? derrepente perdeu a referencia... O.o
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
ja deu certo
so o texto na tela nao kkk
to tentando ainda mas vlw
so o texto na tela nao kkk
to tentando ainda mas vlw
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
https://www.youtube.com/watch?v=SiDz7ymJVtw
acho que da pra ver o problema ai.
o texto nao aparece na tela.
tava com pouco tempo pra fazer o video.
acho que da pra ver o problema ai.
o texto nao aparece na tela.
tava com pouco tempo pra fazer o video.
seven- Iniciante
- PONTOS : 3723
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
O GUIText está linkado na variavel ne?...
manda um print de como estão os scripts do Player
manda um print de como estão os scripts do Player
Re: [DUVIDA] SISTEMA DE COINS 2D (CONTADOR) C#
Pessoal, me cadastrei agora no fórum, parece muito bom. Eu estava com um problema parecido com esse, mas agora está tudo certo. aí vai minha contribuição.
1-Na aba HIERARCHY: Botão direito numa área livre > UI > Canvas.
2- Botão direito > UI > Text. o texto vai para dentro de Canvas.
3- copie todo o script abaixo e coloque esse script no player
4- A variável countText vai estar aparecendo no Inspector do player, arraste o objeto texto que foi criado, para lá.
5- coloque uma moeda na cena, coloque uma TAG nela com no moe de "coin", um box colider e marque a opção "is trigger".
6- Seja feliz!
espero ter ajudado.
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Controller : MonoBehaviour {
private int count;//variável privada de contagem para a pontuação "count".
public float moveSpeed; // variável para velocidade de mover
private Rigidbody rb;
public Text countText;
void Start ()//início do jogo
{
rb = GetComponent<Rigidbody>();
count = 0; // "count" é o nome da variável. no início do jogo ela está igual a zero. usada para potuação.
SetCountText();
}
void Update ()
{
transform.Translate(moveSpeed*Input.GetAxis("Horizontal")*Time.deltaTime,0f,0f); //mover o player
}
//pega a moeda e desmarca a visualização dela
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag ("coin"))
{
other.gameObject.SetActive (false);// desabilita a imagem da moeda quando toca ela (pega moeda).
count = count + 1; // faz a contagem da pontuação quando pega oobjeto.
SetCountText ();
}
}
void SetCountText ()
{
countText.text = "Pontos: " + count.ToString (); // faz a contagem das moedas que foram pegas.
}
}
1-Na aba HIERARCHY: Botão direito numa área livre > UI > Canvas.
2- Botão direito > UI > Text. o texto vai para dentro de Canvas.
3- copie todo o script abaixo e coloque esse script no player
4- A variável countText vai estar aparecendo no Inspector do player, arraste o objeto texto que foi criado, para lá.
5- coloque uma moeda na cena, coloque uma TAG nela com no moe de "coin", um box colider e marque a opção "is trigger".
6- Seja feliz!
espero ter ajudado.
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Controller : MonoBehaviour {
private int count;//variável privada de contagem para a pontuação "count".
public float moveSpeed; // variável para velocidade de mover
private Rigidbody rb;
public Text countText;
void Start ()//início do jogo
{
rb = GetComponent<Rigidbody>();
count = 0; // "count" é o nome da variável. no início do jogo ela está igual a zero. usada para potuação.
SetCountText();
}
void Update ()
{
transform.Translate(moveSpeed*Input.GetAxis("Horizontal")*Time.deltaTime,0f,0f); //mover o player
}
//pega a moeda e desmarca a visualização dela
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.CompareTag ("coin"))
{
other.gameObject.SetActive (false);// desabilita a imagem da moeda quando toca ela (pega moeda).
count = count + 1; // faz a contagem da pontuação quando pega oobjeto.
SetCountText ();
}
}
void SetCountText ()
{
countText.text = "Pontos: " + count.ToString (); // faz a contagem das moedas que foram pegas.
}
}
philipmattos- Iniciante
- PONTOS : 3029
REPUTAÇÃO : 2
Respeito as regras :
Tópicos semelhantes
» Dúvida com Contador no Unity
» [Duvida]Sistema de marchas
» Sistema de Pontuação (Dúvida)
» [DÚVIDA] SISTEMA DE HEADSHOT
» Sistema de missão [Duvida]
» [Duvida]Sistema de marchas
» Sistema de Pontuação (Dúvida)
» [DÚVIDA] SISTEMA DE HEADSHOT
» Sistema de missão [Duvida]
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos