SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Divulguem este meu jogo!
Colocar Gifs em uma UI Unity 5?
Como carregar a cena mais rápido, ao apertar um botão ???
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Formacão de equipe "Death Zone"
Rede sociais
como fazer uma objeto se mover sozinho?
Sistema de anuncios na Unity 5.6 bugado
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Unity Banco de Dados
Como trocar o Material na unity 3d?
ROTAS
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
Alguém pode fazer um rig pra mão do meu personagem?
Formando Equipe JOGO SURVIVAL/RPG
como fazer o personagem rolar em 2D
Prefab De GUI fica com um X
Preciso de Designer/Artista Para Card Game 2D
Como ativo uma void ?
[TUTORIAL] Sistema de Entregas + GPS!
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
✖ Projeto HOSPICE Horror Game !! ✖
Como integrar Unity e GitHub.
Square
Como não destruir um objeto depois de chamar um cena.
Como posso movimentar meu personagem sempre 1 f no angulo X
Como faço para importar um asset de dentro da unity?
Como dar save e load em um objeto instanciado?
MANTER TELA DO CELULAR LIGADA
Tirar Fotos no Unity 5 FPS
Tem como controlar a posição de uma particula?
como faço para transformar uma list em Array?
Como carregar imagens da pasta ( Arquivos e não Sprites ) via script.
[DÚVIDA] Como faço pra importar texturas do PC para o jogo in-game?
[DUVIDA] Verificar se um texto é um email
Como Detectar toques e destruir objetos no jogo
Duvida sobre o Unet
[RESOLVIDO] Camera FPS atravessa paredes
Baixos Brasil - Jogo de Carro Brasileiro!
PC Gamer!
Como acessar o Emission do Material e mudar a cor via script
Trocando a texture do terreno com script
Alguem Conhece algum jogo famoso desenvolvido no Photon?
visualizador de ritmo
Curso de unity presencial
Adicionar marcador de Tempo no jogo
(Dúvida) Photon - Slot de salas criadas.
BUG COM NAVMESH Alguem Sabe Arrumar?
ERRO SCRIPT
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
ferr2D vale a pena?
Itemlist
Teste de jogo multiplayer ILHAS
Ilumição
[Dúvida] Como fazer um corpo rígido receber velocidade em direção ao mouse.
(Animator)Voltar a um estado de animação mais nao executar a mesma
Modelagem Uvm
Precisamos de modeladores
Rigidbody2D AddForce - Como adicionar uma força oneshot.
SCRIPT TIRO - UNITY 3d
duvida
Frameworks/tutoriais para jogo 2D?
Mesmo material mas objeto mais claro
Machado PBR | 3D Axe with PBR textures.
Em breve Ilhas Multiplayer, sobrevivencia PVP E PVM
Text multiplayer
[TUTORIAL] Avião Script
Como faço para a musica continuar tocando quando muda de cena?
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
como posso colocar tempo em qualquer script?
SCRIPT ISOMETRICO PARA ROTACIONAR O PLAYER COM MOUSE
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
Verificar quantos objetos tem a seguinte tag na scena
Time
Grave no Som da Unity!
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
Assesar Script De Outra Script
R7 - GOOH (resident evil 7)
Formação de equipa para o Jogo Until the last
Suspensão carro com raycast
como criar um botao dentro do if() (em C# pq quero padronizar tudo na mesma linguagem)
Arquivos de Expanssão OBB
Formação de equipe para jogo estilo Rust/DayZ
[DUVIDA]como girar sprite somente no eixo X em direção do mouse
GRAVIDADE não é compatível com Camera.main.ScreenToViewportPoint ?
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
-[SCRIPT DE POSIÇÕES ]-
[Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
como posso fazer sons dos passos do inimigo
Unity - Car engine sound - Primeiro teste
Dúvida sobre particulas
[RESOLVIDO] Executar animação após um X segundos
Como indentificar que estou escrevendo [Unity.UI inputField]
[RESOLVIDO] Blender - Mesh com ossos bugados
[RESOLVIDO] OntriggerEnter Bugado
[RESOLVIDO] Problema com o Reimport e atualização do modelo
Como fazer o raycast ignorar a primeira colisao?
[RESOLVIDO] Animações no script
Hoje à(s) 17:16
Hoje à(s) 17:03
Hoje à(s) 16:57
Hoje à(s) 16:49
Hoje à(s) 14:17
Hoje à(s) 14:02
Hoje à(s) 12:33
Hoje à(s) 07:13
Hoje à(s) 06:54
Hoje à(s) 06:07
Hoje à(s) 01:39
Ontem à(s) 20:58
Ontem à(s) 20:40
Ontem à(s) 19:53
Ontem à(s) 19:34
Ontem à(s) 19:18
Ontem à(s) 19:09
Ontem à(s) 17:29
Ontem à(s) 15:51
Ontem à(s) 15:47
Ontem à(s) 14:33
Ontem à(s) 14:30
Ontem à(s) 14:29
Ontem à(s) 10:48
Ontem à(s) 07:44
Ontem à(s) 05:40
Ontem à(s) 01:14
Sex 20 Out 2017, 20:44
Sex 20 Out 2017, 20:11
Sex 20 Out 2017, 20:00
Sex 20 Out 2017, 19:45
Sex 20 Out 2017, 19:14
Sex 20 Out 2017, 10:24
Qui 19 Out 2017, 23:43
Qui 19 Out 2017, 23:33
Qui 19 Out 2017, 16:01
Qui 19 Out 2017, 14:15
Qui 19 Out 2017, 13:45
Qui 19 Out 2017, 10:38
Qua 18 Out 2017, 22:54
Qua 18 Out 2017, 22:28
Qua 18 Out 2017, 21:28
Qua 18 Out 2017, 16:10
Qua 18 Out 2017, 14:21
Qua 18 Out 2017, 14:18
Qua 18 Out 2017, 12:56
Qua 18 Out 2017, 12:10
Qua 18 Out 2017, 02:08
Ter 17 Out 2017, 23:29
Ter 17 Out 2017, 20:57
Ter 17 Out 2017, 20:42
Ter 17 Out 2017, 20:36
Ter 17 Out 2017, 18:04
Ter 17 Out 2017, 16:52
Ter 17 Out 2017, 16:33
Ter 17 Out 2017, 15:44
Ter 17 Out 2017, 14:42
Ter 17 Out 2017, 14:39
Ter 17 Out 2017, 13:13
Ter 17 Out 2017, 11:16
Ter 17 Out 2017, 10:37
Ter 17 Out 2017, 08:58
Ter 17 Out 2017, 08:27
Ter 17 Out 2017, 00:53
Seg 16 Out 2017, 19:06
Seg 16 Out 2017, 16:27
Seg 16 Out 2017, 15:26
Seg 16 Out 2017, 14:08
Seg 16 Out 2017, 09:38
Seg 16 Out 2017, 08:44
Seg 16 Out 2017, 05:53
Dom 15 Out 2017, 23:53
Dom 15 Out 2017, 20:00
Dom 15 Out 2017, 19:35
Dom 15 Out 2017, 18:05
Dom 15 Out 2017, 17:06
Dom 15 Out 2017, 16:59
Dom 15 Out 2017, 16:41
Dom 15 Out 2017, 15:57
Dom 15 Out 2017, 15:11
Dom 15 Out 2017, 15:04
Dom 15 Out 2017, 14:29
Dom 15 Out 2017, 13:44
Dom 15 Out 2017, 12:59
Dom 15 Out 2017, 12:42
Dom 15 Out 2017, 12:37
Dom 15 Out 2017, 11:44
Dom 15 Out 2017, 10:25
Dom 15 Out 2017, 09:03
Dom 15 Out 2017, 08:19
Dom 15 Out 2017, 08:09
Dom 15 Out 2017, 07:23
Dom 15 Out 2017, 00:39
Sab 14 Out 2017, 23:57
Sab 14 Out 2017, 23:30
Sab 14 Out 2017, 19:07
Sab 14 Out 2017, 18:01
Sab 14 Out 2017, 17:55
Sab 14 Out 2017, 16:25
cody0033
Encracker
Dom3000
Takuiash
dstaroski
dstaroski
glauco
dstaroski
dstaroski
Callyde Jr
Jardel Morais
Joao07
robinson.sandi
Ghosthy
fecirineu
Vitor Paulino
Fagner
Manawydan
Phph09
Alerson Software
dstaroski
dstaroski
dstaroski
Phph09
Phph09
Phph09
rafaelllsd
Dom3000
Phph09
Phph09
Phph09
Dom3000
Dom3000
kalielson
kalielson
Phph09
Phph09
Valakinhas
TylerDurden
Duarte
Duarte
richardson
marino96
fecirineu
richardson
fariscolucas
fariscolucas
rafaelllsd
rafaelllsd
endersoneneilsa
natanael.olimpio
alxgames
Callyde Jr
Unidade3d5
WesClaudino
EvertonSantos
BRGC
michelly
Phph09
ScorpionG4mer
EvertonSantos
diegopds
gabrielgrk
Fagner
ScorpionG4mer
Unidade3d5
richerd
Matrirxp
colosso16
Joao07
Callyde Jr
EvertonSantos
EvertonSantos
felipehobs1
Callyde Jr
Duarte
glauco
luis gustavo
thales.ulisses
heliab125
marcelinodns
luis gustavo
Duarte
CodeZone
contaska
contaska
thales.ulisses
Weslley
dimmuo
glauco
dstaroski
Phph09
eusouoglaydson
Weslley
Fagner
alxgames
Fagner
Fagner
MRX

Como Colocar Pontuação Final na GUI de GAME OVER

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Qua 13 Set 2017, 14:12

Olá pessoal, mais um dúvida. Fiz um sistema de pontuação e está funcionando bem. Então resolvi criar uma GUI de GameOver com o Canvas da Unity, coloquei botões e texto. Eu coloquei o script da minha Pontuação no texto da score final da Canvas GameOver mas não está aparecendo a score final, e sim 0, ele reseta minha score quando o jogador morre e não mostra na tela. Como faço para aparecer a pontuação que o jogador fez na minha GUI GameOver? Vi vários tópicos aqui mas nenhum me ajudou. 

Script Pontuação


Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Pontuacao : MonoBehaviour {

 public int pontuacao;
 public Text txtpontuacao;


 void Awake () 
 {
 txtpontuacao = GetComponent<Text>();
 pontuacao = 0;

 }
 

 void Update () {

 txtpontuacao.text = "Pontuação " + pontuacao;
 GameObject.Find ("Pontuacao").GetComponent<Text>().text= "Pontuação " + pontuacao;

 }




}



Pontuação sendo chamada na classe Inimigo

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

[SerializeField]
private int minValorPontos;

[SerializeField]
private int maxValorPontos;

private int valorInimigo;
public Pontuacao pontos;

void Start () {

 valorInimigo = Random.Range (minValorPontos, maxValorPontos);
 pontos = FindObjectOfType<Pontuacao>();
 }


void PerderVida(Collider2D outro)
 {

 if (outro.tag == "Tiro")
 {
 if(vida > 0)
 {
 vida--;
 }
 if(vida<= 0)
 {
 Destroy (gameObject);
 pontos.pontuacao+=valorInimigo;
 }

 Destroy (outro.gameObject);
 }

 }


Função Game Over (localizada no Script do Jogador)

Código:
private bool gameOver = false;

public void GameOver()
 {
 
 if (!gameOver)
 {
 gameOver = true;
 gameOverMenu.SetActive (true);

 }
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por AndyShow em Qua 13 Set 2017, 15:43

Olá Amigo

Recomendo Fortemente Assistir aos Tutoriais no Marcos

Aqui está oque ele Explica tudo Sobre UI (Gui)

avatar
AndyShow
Instrutor

Masculino PONTOS : 2321
REPUTAÇÃO : 550
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Qua 13 Set 2017, 18:34

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

public class Pontuacao : MonoBehaviour {

 public int pontuacao;
 public Text txtpontuacao;

 void Awake () {

 txtpontuacao = GetComponent();
 pontuacao = 0;
 }
 void Update () {
 txtpontuacao.text = "Pontuação: " + pontuacao;
 }
}

Certifique-se de que você tenha colocado este script no texto correspondente aos pontos, lá no canvas.
E outra coisa... o valor é resetado quando a cena é carregada então a tela de GameOver tem que estar na mesma cena.

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Qua 13 Set 2017, 18:41

JorgeLuizxd escreveu:
Código:
using UnityEngine.UI;
using UnityEngine;
using System.Collections.Generic;
using System.Collections;

public class Pontuacao : MonoBehaviour {

public int pontuacao;
public Text txtpontuacao;

void Awake () {
txtpontuacao = GetComponent<Text>();
pontuacao = 0;

}
void Update () {
txtpontuacao.text = "Pontuação: " + pontuacao;

 }
}


Certifique-se de que você tenha colocado este script no texto correspondente aos pontos, lá no Canvas.
E outra coisa... o valor é resetado quando a cena é carregada então a tela de GameOver tem que estar na mesma cena.

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Qua 13 Set 2017, 23:39

AndyShow escreveu:Olá Amigo

Recomendo Fortemente Assistir aos Tutoriais no Marcos

Aqui está oque ele Explica tudo Sobre UI (Gui)

Valeu cara, ótima explicação, mas esse vídeo não responde minha duvida.
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Qua 13 Set 2017, 23:41

JorgeLuizxd escreveu:
JorgeLuizxd escreveu:
Código:
using UnityEngine.UI;
using UnityEngine;
using System.Collections.Generic;
using System.Collections;

public class Pontuacao : MonoBehaviour {

public int pontuacao;
public Text txtpontuacao;

void Awake () {
txtpontuacao = GetComponent<Text>();
pontuacao = 0;

}
void Update () {
txtpontuacao.text = "Pontuação: " + pontuacao;

 }
}


Certifique-se de que você tenha colocado este script no texto correspondente aos pontos, lá no Canvas.
E outra coisa... o valor é resetado quando a cena é carregada então a tela de GameOver tem que estar na mesma cena.

Vlw cara mas ainda não aparece a pontuação no texto da GUI do Game Over. A pontuação só aparece no canvas do jogador. Continua como 0 na GUI. E o script esta adicionado em ambas.
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Qui 14 Set 2017, 00:35

Queria saber como eu faço para salvar o valor da minha pontuação e chama-la no campo de texto minha GUI de Game Over a partir de outra variável.
Por exemplo a pontuação 200 vai ser salva. Ai eu vou guardar ela em uma variável chamada scorefinal e ai eu vou falar para ela aparecer no campo de texto Pontos Totais na minha GUI quando der gameover.
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Qui 14 Set 2017, 10:36

Manda alguns prints da parte do Canvas/GUI
E você falou a respeito do scoreFinal e pontosTotais que não tem nos scripts que você mandou acima.

Para Fazer os pontos ficar salvos, você pode utilizar o PlayerPrefs.

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Sex 15 Set 2017, 15:08

JorgeLuizxd escreveu:Manda alguns prints da parte do Canvas/GUI
E você falou a respeito do scoreFinal e pontosTotais que não tem nos scripts que você mandou acima.

Para Fazer os pontos ficar salvos, você pode utilizar o PlayerPrefs.

Não consigo mandar screenshots aqui. 
Eu achei o problema. Minha GUI de GameOver fica desativada e quando meu metodo gameOver é chamado ele ativa ela. A score até funciona lá só que ela não mostra dados nela porque ela fica o tempo todo desativada.
O que eu teria que fazer é arrumar um jeito de usar esse PlayerPrefs para salvar minha pontuação e eu coloco um script no campo de texto da GUI pedindo para mostrar essa pontuação salva.
Olhei vários tutoriais mas não consigo fazer isso, acho que estou fazendo de um jeito totalmente errado, por onde eu começo? estou perdido Crying or Very sad .



Código:
public void GameOver()
   {
      
      if (!gameOver) 
      {
         gameOver = true;
         gameOverMenu.SetActive (true);

      }

   }
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Sab 16 Set 2017, 12:59

Ok vou tentar fazer umas adaptações no script e testar aqui na unity, quando funcionar eu te mandou os scripts

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Sab 16 Set 2017, 15:19

Olha eu aqui de novo Very Happy Fiz a modificações necessárias e testei na unity. E está funcionando.
Eu resumi seus 3 scripts em 2.

Este aqui você coloca no texto que vai mostrar a pontuação:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour {

public string nome;

void Update () {
  //recebe a pontuaçao e mostra para o jogador
  GetComponent<Text> ().text = PlayerPrefs.GetInt (nome)+"";
 }
}
Este aqui é o Script "Inimigo":
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Inimigo : MonoBehaviour {

 [SerializeField]
 private int minValorPontos;

 [SerializeField]
 private int maxValorPontos;

 private int valorInimigo;
 private int pontuacao=0;

 //Criei esta variavel "vida" apenas pra testar o script. Se quiser apagar ela, pode apagar
 int vida =100;
 void Start () {
  //Coloque este PlayerPrefs.SetInt("Pontos",0); no script do Player, dentro do metodo Start()
  PlayerPrefs.SetInt ("Pontos", 0);
  //toda vez que o player entra no jogo, a pontuaçao e zerada
 }
 void SalvaScore()
 {
  //metodo responsavel por guardar os pontos
  PlayerPrefs.SetInt("Pontos",PlayerPrefs.GetInt("Pontos")+GetScore());
 }
 
 int GetScore(){
  //metodo responsavel por decidir quantos pontos o player vai ganhar
  valorInimigo = Random.Range (minValorPontos, maxValorPontos);
  pontuacao+=valorInimigo;
  //retorna a pontuaçao que o player vai ganhar
  return pontuacao;
 }

 void PerderVida(Collider2D outro){
  //Metodo que verifica se houve colisao no inimigo
  if (outro.gameObject.tag == "Tiro") {
   Debug.Log("Inimigo recebeu um Tiro");
   if (vida > 0) {
    vida--;
    //Ative se quiser saber quanto o inimigo perde de vida por Tiro. Basta tirar o //
    //Debug.Log("Vida: "+vida);
   }
   if (vida <= 0) {
    //destroi o inimigo quando a vida for menor ou igual a 0
    Destroy (gameObject);
    //chama o metodo SalvaScore() para que o player ganhe os pontos
    SalvaScore ();
   }
   //destroi a bala, depois que acertar o inimigo
   Destroy (outro.gameObject);
  }
 }
}
E é isso. Espero que te ajude. Very Happy

Fique de olho se apresenta no console: "Inimigo recebeu um tiro", quando ele levar tiro. 
Se apresentar é porque tá funcionando perfeitamente.

OBS: Se não funcionar, então está relacionado com o método PerderVida() que não está detectando as colisões.

Dai você troca esta parte aqui:
void PerderVida(Collider2D outro){
Por esta aqui:
void OnCollisionEnter2D(Collision2D outro){

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Sab 16 Set 2017, 15:53

Continue utilizando o script GameOver

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Sab 16 Set 2017, 17:01

Quando vc por o script Score, no texto que vai mostrar a pontuação, vai mostrar um campo Escrito "Nome" dai você digita "Pontos"

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por RobinF em Seg 18 Set 2017, 12:59

JorgeLuizxd escreveu:Olha eu aqui de novo Very Happy Fiz a modificações necessárias e testei na unity. E está funcionando.
Eu resumi seus 3 scripts em 2.

Este aqui você coloca no texto que vai mostrar a pontuação:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour {

public string nome;

void Update () {
  //recebe a pontuaçao e mostra para o jogador
  GetComponent<Text> ().text = PlayerPrefs.GetInt (nome)+"";
 }
}
Este aqui é o Script "Inimigo":
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Inimigo : MonoBehaviour {

 [SerializeField]
 private int minValorPontos;

 [SerializeField]
 private int maxValorPontos;

 private int valorInimigo;
 private int pontuacao=0;

 //Criei esta variavel "vida" apenas pra testar o script. Se quiser apagar ela, pode apagar
 int vida =100;
 void Start () {
  //Coloque este PlayerPrefs.SetInt("Pontos",0); no script do Player, dentro do metodo Start()
  PlayerPrefs.SetInt ("Pontos", 0);
  //toda vez que o player entra no jogo, a pontuaçao e zerada
 }
 void SalvaScore()
 {
  //metodo responsavel por guardar os pontos
  PlayerPrefs.SetInt("Pontos",PlayerPrefs.GetInt("Pontos")+GetScore());
 }
 
 int GetScore(){
  //metodo responsavel por decidir quantos pontos o player vai ganhar
  valorInimigo = Random.Range (minValorPontos, maxValorPontos);
  pontuacao+=valorInimigo;
  //retorna a pontuaçao que o player vai ganhar
  return pontuacao;
 }

 void PerderVida(Collider2D outro){
  //Metodo que verifica se houve colisao no inimigo
  if (outro.gameObject.tag == "Tiro") {
   Debug.Log("Inimigo recebeu um Tiro");
   if (vida > 0) {
    vida--;
    //Ative se quiser saber quanto o inimigo perde de vida por Tiro. Basta tirar o //
    //Debug.Log("Vida: "+vida);
   }
   if (vida <= 0) {
    //destroi o inimigo quando a vida for menor ou igual a 0
    Destroy (gameObject);
    //chama o metodo SalvaScore() para que o player ganhe os pontos
    SalvaScore ();
   }
   //destroi a bala, depois que acertar o inimigo
   Destroy (outro.gameObject);
  }
 }
}
E é isso. Espero que te ajude. Very Happy

Fique de olho se apresenta no console: "Inimigo recebeu um tiro", quando ele levar tiro. 
Se apresentar é porque tá funcionando perfeitamente.

OBS: Se não funcionar, então está relacionado com o método PerderVida() que não está detectando as colisões.

Dai você troca esta parte aqui:
void PerderVida(Collider2D outro){
Por esta aqui:
void OnCollisionEnter2D(Collision2D outro){


Nossa vlw msmo cara, deu certo Very Happy
avatar
RobinF
Iniciante
Iniciante

PONTOS : 59
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Colocar Pontuação Final na GUI de GAME OVER

Mensagem por JorgeLuizxd em Seg 18 Set 2017, 20:39

Very Happy Pronto agora o posto foi resolvido

JorgeLuizxd
Membro
Membro

PONTOS : 298
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum