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:
Dúvida NavMesh com UI
(Ajuda) PlayerPrefs
Textura - Envelopamento de Cubos e outras Formas
Salvar estado de bool com PlayerPrefsX.
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[Projeto] Line Battle
[Duvida]3dwarehouse posso usar seus modelos e vender meu jogo ?
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Novo tema fórum - Votação
Bug Animation
avaliem esse trabalho no scupt mode
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Como usar o Getfloat no audio mixer?
Wheel joint 2d e problema com limite de velocidade
[RESOLVIDO]Text não recebe texto do inpult Field
Unity editor lento, mas game final não
Como criar uma conexão externa usando IP do host
[RESOLVIDO] Componente Button em um sprite.
Seleção de botão
GRAFICOS UNITY
[DUVIDA] Textura dentro do objeto com editor gráfico da unity
colisão na particle
Adaptação a Área de Desenvolvimento de Jogos
PRECISO DE UM ANIMADOR
[RESOLVIDO] Qual o Aspect Ratio do celular.
Formação de equipe
pack de animações
Como faço para o personagem entrar e sair do carro?
[DÚVIDA]Como sincronizar os kills e mortes com Unet
[RESOLVIDO]Licença 3d Warehouse
como criar um slime? como fazer para uma mesh ficar mole e colidir com o chao(tipo slime)?
[DÚVIDA]É possível instalar o Unity no Ubuntu e ser ativado sem internet?
[DÚVIDA]Materiais da Unity para objetos do Blender
[AJUDA]Quero Ajuda poque esse script so da erro!
[DÚVIDA]Tempo de espera fora do app
[RESOLVIDO]Script com um pequeno defeito
[RESOLVIDO]Erro com monodevelop
[RESOLVIDO]Como fazer o audio se sobrepor?
aVork - Física realista para veículos
Wheel Collider
Dúvida com void OnTriggerEnter
Blender p/ Unity - Objetos c/ 90º
[AJUDA]Como ativar/desativar todos os GameObjects de uma array
[DÚVIDA]Atributos Network UNET
Asset MS Vehicle System
[ERRO UNITY] Unity 2017
[RESOLVIDO] erro no unity 2017 ao colocar scripts
[DÚVIDA]Problema com Multiplayer UNET
NOVO ANDROID STUDIO COM PROBLEMA NO SDK
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Suzuki Srad 750
[RESOLVIDO]Tem Como eu Fazer uma Float com 2 Numeros após a virgula ?
[RESOLVIDO] Cálculo simples dando errado
Build Para IOS
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Movimentação no Espaço como Jet Pack
Como selecionar um único filho de um Gameobject?
Numero de itens iguais em uma lista
[RESOLVIDO]Alguém tem alguma dica sobre NavMeshAgent
Problemas com o Unity
[RESOLVIDO]Receber o nome do próprio objeto em uma string
Weslley GameDev
[DÚVIDA]Ajuda para como fazer esse script voltar a funcionar
[Duvida] Collab Excedeu o Seu Limite : Como posso transferir o projeto entre a equipe?
[DUVIDA] Sistema de diario/Livro de notas
[DÚVIDA](Multiplayer) Comando para non-Player object
é Possivel visualizar uma Variavel Estatica no Inspector ?
Physics2D para Physics?
Erro com lista
Como melhorar o desempenho mobile?
[DÚVIDA]Receber e setar texto em um objeto
[DÙVIDA]Problema ao criar build Android
[DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
[DÚVIDA]MULTIPLAYER Unet: Como sincronizar Variaveis(bool)
Novo jogo em desenvolvimento para android
Banco de Dados Cotação
[RESOLVIDO] O fórum é só para Unity?
[RESOLVIDO] Button perdendo a instancia
[RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
Atualização do meu jogo estilo Resident Evil 4 + link do APK
Reproduzir vídeos do youtube
Necessito de sua ajuda para uma ideia...
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Duvida com script !
Criar LAN via bluetooth
[RESOLVIDO]Estou Usando FindGameObjectWithTag Porem....
[TUTORIAL] Mover/Empurrar Objetos, Caixote,etc
Script de Movimentação não funciona
[RESOLVIDO] SDK NÃO FUNCIONA NO WINDOWS 10
Novo jogo - Stackx
Simular tecla com um botao ou touch
Botoes da unity no android e destruir um objeto em qualquer lugar da cena com touch
Dúvida Netwoking
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Ajuda Com Admob
é Possivel Fazer uma FindTag usando um Text ao inves do GameObject ?
[RESOLVIDO] Animação com "Objetos"
Hoje à(s) 2:20 pm
Hoje à(s) 1:58 pm
Hoje à(s) 1:17 pm
Hoje à(s) 12:19 pm
Hoje à(s) 11:46 am
Hoje à(s) 11:45 am
Hoje à(s) 10:10 am
Hoje à(s) 10:00 am
Hoje à(s) 9:04 am
Hoje à(s) 8:52 am
Hoje à(s) 8:46 am
Hoje à(s) 7:59 am
Hoje à(s) 7:50 am
Hoje à(s) 12:23 am
Hoje à(s) 12:09 am
Ontem à(s) 10:35 pm
Ontem à(s) 9:22 pm
Ontem à(s) 8:07 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:31 pm
Ontem à(s) 6:22 pm
Ontem à(s) 5:44 pm
Ontem à(s) 4:07 pm
Ontem à(s) 2:03 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:31 pm
Ontem à(s) 10:06 am
Ontem à(s) 9:12 am
Sab Jan 20, 2018 11:57 pm
Sab Jan 20, 2018 10:12 pm
Sab Jan 20, 2018 9:54 pm
Sab Jan 20, 2018 9:36 pm
Sab Jan 20, 2018 9:23 pm
Sab Jan 20, 2018 9:02 pm
Sab Jan 20, 2018 8:46 pm
Sab Jan 20, 2018 8:30 pm
Sab Jan 20, 2018 8:26 pm
Sab Jan 20, 2018 8:23 pm
Sab Jan 20, 2018 8:20 pm
Sab Jan 20, 2018 8:11 pm
Sab Jan 20, 2018 8:10 pm
Sab Jan 20, 2018 8:05 pm
Sab Jan 20, 2018 7:29 pm
Sab Jan 20, 2018 7:08 pm
Sab Jan 20, 2018 4:21 pm
Sab Jan 20, 2018 11:38 am
Sab Jan 20, 2018 11:25 am
Sab Jan 20, 2018 2:05 am
Sab Jan 20, 2018 1:34 am
Sex Jan 19, 2018 9:06 pm
Sex Jan 19, 2018 8:00 pm
Sex Jan 19, 2018 3:10 pm
Sex Jan 19, 2018 1:05 pm
Sex Jan 19, 2018 11:52 am
Sex Jan 19, 2018 10:17 am
Sex Jan 19, 2018 10:13 am
Sex Jan 19, 2018 1:11 am
Qui Jan 18, 2018 9:46 pm
Qui Jan 18, 2018 8:10 pm
Qui Jan 18, 2018 8:00 pm
Qui Jan 18, 2018 7:42 pm
Qui Jan 18, 2018 7:13 pm
Qui Jan 18, 2018 7:09 pm
Qui Jan 18, 2018 5:09 pm
Qui Jan 18, 2018 4:53 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:05 pm
Qui Jan 18, 2018 4:03 pm
Qui Jan 18, 2018 3:46 pm
Qui Jan 18, 2018 3:04 pm
Qui Jan 18, 2018 1:28 pm
Qui Jan 18, 2018 1:09 pm
Qui Jan 18, 2018 12:36 pm
Qui Jan 18, 2018 12:23 pm
Qui Jan 18, 2018 11:25 am
Qui Jan 18, 2018 8:23 am
Qui Jan 18, 2018 8:11 am
Qui Jan 18, 2018 2:17 am
Qui Jan 18, 2018 2:14 am
Qua Jan 17, 2018 8:35 pm
Qua Jan 17, 2018 6:41 pm
Qua Jan 17, 2018 4:25 pm
Qua Jan 17, 2018 4:08 pm
Qua Jan 17, 2018 3:30 pm
Qua Jan 17, 2018 3:03 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 12:22 pm
Qua Jan 17, 2018 11:31 am
Qua Jan 17, 2018 10:40 am
Qua Jan 17, 2018 8:46 am
Ter Jan 16, 2018 11:17 pm
Ter Jan 16, 2018 11:04 pm
Ter Jan 16, 2018 10:45 pm
Ter Jan 16, 2018 9:31 pm
Ter Jan 16, 2018 8:50 pm
Ter Jan 16, 2018 8:16 pm
BRGC
felipehobs1
azool
Ghosthy
dstaroski
dstaroski
BRGC
BRGC
Phph09
M4theuz
M4theuz
TioUV
TioUV
mayke1040
916anderson
Álefe Kauvyhtz
recagonlei
recagonlei
recagonlei
recagonlei
Mosqueiro
Before Dawn
BRGC
Daniel Pires da Silva
Raphaels
Junim
recagonlei
victorgx22
dstaroski
mafersa
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
MarcosSchultz
MarcosSchultz
Água Sem Hidrogênio
luiz12345
felipehobs1
recagonlei
dazentt55
PatifeCraft
recagonlei
recagonlei
marco.flautista
Pixelizad
MRX
recagonlei
recagonlei
natanael.olimpio
dstaroski
MarcosSchultz
felipehobs1
recagonlei
recagonlei
dstaroski
recagonlei
DuViDoSo
MarcosSchultz
MarcosSchultz
Gwiisk
recagonlei
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MRX
YmKx
recagonlei
recagonlei
ÁguaMineral
Phph09
John Rambo
recagonlei
recagonlei
thiagotmi
natanael.olimpio
cody0033
cody0033
jasondavin
Água Sem Hidrogênio
recagonlei
dstaroski
Água Sem Hidrogênio
recagonlei
googolepton
Phph09
fabriciorsz34
recagonlei
recagonlei
Água Sem Hidrogênio
rafaelllsd
recagonlei

DUVIDA JOGO CORRIDA INFINITA

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

DÚVIDA DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 10:27 am

Bom dia pessoal, estou desenvolvendo um jogo de corrida infinita, esses estilo Subway Suffers e cheguei em uma parte que o player tem que colidir com objetos dai é pra ele morrer e ir direto pro menu de morte mas por algum motivo isso não ta acontecendo, o player não morre mesmo eu adicionando uma tag chamada "Inimigo" no objeto que ele colide, então queria pedir a ajuda de vocês pra resolver isso desda já agradeço!!! 

Esses são os Scripts...


Código:
DeathMenu

using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
using UnityEngine.UI;

public class DeathMenu : MonoBehaviour {

public Text scoreText;
public Image backgroundImg;

private bool isShowned = false;
private float transition = 0.0f;

// Use this for initialization
void Start () {
gameObject.SetActive (false);
}

// Update is called once per frame
void Update () {
if(!isShowned)
return;

transition += Time.deltaTime;
backgroundImg.color = Color.Lerp(new Color(0,0,0,0),Color.black,transition);
}

public void ToggleEndMenu(float score)
{
gameObject.SetActive (true);
scoreText.text = ((int)score).ToString ();
isShowned = true;
}

public void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene ().name);
}

public void ToMenu()
{
SceneManager.LoadScene("Menu");
}
}


 
Código:
PlayerMotor 
using UnityEngine;
using System.Collections;

public class PlayerMotor : MonoBehaviour {

private CharacterController controller;
private Vector3 moveVector;

private float speed = 5.0f;
private float verticalVelocity = 0.0f;
private float gravity = 12.0f;

private float animationDuration = 3.0f;
private float startime;

private bool isDead = false;

// Use this for initialization
void Start () {
controller = GetComponent ();
startime = Time.time;
}

// Update is called once per frame
void Update () {

if (isDead)
return;


if(Time.time - startime < animationDuration)
{
controller.Move (Vector3.forward * speed * Time.deltaTime);
return;
}

moveVector = Vector3.zero;

if(controller.isGrounded)
{
verticalVelocity = -0.5f;
}
else
{
verticalVelocity -= gravity * Time.deltaTime;
}

//X - Left and Right
moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

//Y - Up and Down
moveVector.y = verticalVelocity;

//Z - Foward and Backward
moveVector.z = speed;

controller.Move (moveVector * Time.deltaTime);
}

public void SetSpeed(float modifier)
{
speed = 5.0f + modifier;
}

// It is beign called every time our capsule hits something
private void onControllerColliderHit(ControllerColliderHit hit)
{
if(hit.point.z > transform.position.z + 0.1f && hit.gameObject.tag == "Enemy") 
Death ();
}

private void Death()
{
isDead = true;
GetComponent ().onDeath ();
}


}
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 11:18 am

amigo ,poste os scripts dentro da caixinha script, para os usuarios entenderem melhor e saber onde esta o erro, fora da caixinha algumas palavras /letras desaparecem, bom dia
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 12:16 pm

felipehobs1 escreveu:amigo ,poste os scripts dentro da caixinha script, para os usuarios entenderem melhor e saber onde esta o erro, fora da caixinha algumas palavras /letras desaparecem, bom dia
foi erro meu mesmo foi mal...

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

public class DeathMenu : MonoBehaviour {

public Text scoreText;
public Image backgroundImg;

private bool isShowned = false;
private float transition = 0.0f;

// Use this for initialization
void Start () {
gameObject.SetActive (false);
}

// Update is called once per frame
void Update () {
if(!isShowned)
return;

transition += Time.deltaTime;
backgroundImg.color = Color.Lerp(new Color(0,0,0,0),Color.black,transition);
}

public void ToggleEndMenu(float score)
{
gameObject.SetActive (true);
scoreText.text = ((int)score).ToString ();
isShowned = true;
}

public void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene ().name);
}

public void ToMenu()
{
SceneManager.LoadScene("Menu");   
}
}
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 12:17 pm

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

public class PlayerMotor : MonoBehaviour {

private CharacterController controller;
private Vector3 moveVector;

private float speed = 5.0f;
private float verticalVelocity = 0.0f;
private float gravity = 12.0f;

private float animationDuration = 3.0f;
private float startime;

private bool isDead = false;

// Use this for initialization
void Start () {   
controller = GetComponent ();
startime = Time.time;
}

// Update is called once per frame
void Update () {

if (isDead)
return;


if(Time.time - startime < animationDuration)
{
controller.Move (Vector3.forward * speed * Time.deltaTime);
return;
}

moveVector = Vector3.zero;

if(controller.isGrounded)
{
verticalVelocity = -0.5f;
}
else
{
verticalVelocity -= gravity * Time.deltaTime;
}

//X - Left and Right
moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

//Y - Up and Down
moveVector.y = verticalVelocity;

//Z - Foward and Backward
moveVector.z = speed;

controller.Move (moveVector * Time.deltaTime);
}

public void SetSpeed(float modifier)
{
speed = 5.0f + modifier;
}

// It is beign called every   time our capsule hits something
private void onControllerColliderHit(ControllerColliderHit hit)
{
if(hit.point.z > transform.position.z + 0.1f && hit.gameObject.tag == "Enemy") 
Death ();
}

private void Death()
{
isDead = true;
GetComponent ().onDeath ();
}


}
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por recagonlei em Qua Dez 27, 2017 12:52 pm

Utilize o OnCollisionEnter no player, que quando ele colidir com o Inimigo ele morra, que acho que terá um flow melhor:

Código:
void OnCollisionEnter(Collision col){
if(col.gameObject.layer == LayerMask.NameToLayer("Inimigo"))
       Debug.Log("Morri...");
}


https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
avatar
recagonlei
Instrutor

Masculino PONTOS : 1045
REPUTAÇÃO : 157
Idade : 48
Áreas de atuação : ~Programação (C#, HTML, CSS3)
~Spriter
~Modelagem
~E acredita que também beatmaker? Maybe
Respeito as regras :

Ver perfil do usuário http://stwodio.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 1:04 pm

tente  a dica do amigo acima, e sempre dê um Debug.Log(string msg) depois de cada funcao para ver se aquela funcao esta sendo executada
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 3:17 pm

recagonlei escreveu:Utilize o OnCollisionEnter no player, que quando ele colidir com o Inimigo ele morra, que acho que terá um flow melhor:

Código:
void OnCollisionEnter(Collision col){
if(col.gameObject.layer == LayerMask.NameToLayer("Inimigo"))
       Debug.Log("Morri...");
}


https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
Onde eu ponho essa parte em meu codigo?? pois tô meio perdido
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por recagonlei em Qua Dez 27, 2017 5:19 pm

No script de movimento do player... Dai, quando ele se chocar com algum collider, essa callback é chamada e com a detecção da tag, chamada a função de morte do player...
avatar
recagonlei
Instrutor

Masculino PONTOS : 1045
REPUTAÇÃO : 157
Idade : 48
Áreas de atuação : ~Programação (C#, HTML, CSS3)
~Spriter
~Modelagem
~E acredita que também beatmaker? Maybe
Respeito as regras :

Ver perfil do usuário http://stwodio.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 7:18 pm

recagonlei escreveu:No script de movimento do player... Dai, quando ele se chocar com algum collider, essa callback é chamada e com a detecção da tag, chamada a função de morte do player...
Obrigado amigo, teria como vc me mandar esse mesmo script com essa parte do codigo ja incluso nele?? Pois a duvida é onde colocar essa parte que me mandou no meu script, então ja agradeço se puder fazer isso!!!
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 7:26 pm

apenas substitua a funcao

Código:
private void onControllerColliderHit(ControllerColliderHit hit)
 e ve se funciona
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 7:46 pm

felipehobs1 escreveu:apenas substitua a funcao

Código:
private void onControllerColliderHit(ControllerColliderHit hit)
 e ve se funciona

Continua sem funcionar olha se coloquei certo no script...
Código:
using UnityEngine;
using System.Collections;

public class PlayerMotor : MonoBehaviour {

   private CharacterController controller;
   private Vector3 moveVector;

   private float speed = 5.0f;
   private float verticalVelocity = 0.0f;
   private float gravity = 12.0f;

   private float animationDuration = 3.0f;
   private float startime;

   private bool isDead = false;

   // Use this for initialization
   void Start () {      
      controller = GetComponent<CharacterController> ();
      startime = Time.time;
   }
   
   // Update is called once per frame
   void Update () {

      if (isDead)
         return;
      

      if(Time.time - startime < animationDuration)
      {
         controller.Move (Vector3.forward * speed * Time.deltaTime);
         return;
      }

      moveVector = Vector3.zero;

      if(controller.isGrounded)
      {
         verticalVelocity = -0.5f;
      }
      else
      {
         verticalVelocity -= gravity * Time.deltaTime;
      }

      //X - Left and Right
      moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

      //Y - Up and Down
      moveVector.y = verticalVelocity;

      //Z - Foward and Backward
      moveVector.z = speed;

      controller.Move (moveVector * Time.deltaTime);
   }

   public void SetSpeed(float modifier)
   {
      speed = 5.0f + modifier;
   }

   // It is beign called every   time our capsule hits something
   void OnCollisionEnter(Collision col){
      if(col.gameObject.layer == LayerMask.NameToLayer("Enemy"))
         Debug.Log("Death...");
   }

   private void Death()
   {
      isDead = true;
      GetComponent<Score> ().onDeath ();
   }
      
}
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 8:13 pm

tenta assim entao; se certifica q a tag esta correta,obs: "enemy" & "Enemy" maisculas sao diferente de minusculas

[list=linenums]
[*]void OnCollisionEnter(Collision col){

[*]      if(col.gameObject.tag =="Enemy")){

[*]         Debug.Log("morri o codigo esta correto..."); //printa messagem na unity

[*]}

[*]   }

[/list]
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 8:15 pm

opa ,a caixinha deu um erro

Código:
void OnCollisionEnter(Collision col){

    if(col.gameObject.tag =="Enemy"){

       Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
}}
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 8:39 pm

felipehobs1 escreveu:opa ,a caixinha deu um erro

Código:
void OnCollisionEnter(Collision col){

    if(col.gameObject.tag =="Enemy"){

       Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
}}
Na unity ta aparecendo uma mensagem que diz: UnityEngine.Debug.Log(Object) mas o player continua sem morrer

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

public class PlayerMotor : MonoBehaviour {

   private CharacterController controller;
   private Vector3 moveVector;

   private float speed = 5.0f;
   private float verticalVelocity = 0.0f;
   private float gravity = 12.0f;

   private float animationDuration = 3.0f;
   private float startime;

   private bool isDead = false;

   // Use this for initialization
   void Start () {      
      controller = GetComponent<CharacterController> ();
      startime = Time.time;
   }
   
   // Update is called once per frame
   void Update () {

      if (isDead)
         return;
      

      if(Time.time - startime < animationDuration)
      {
         controller.Move (Vector3.forward * speed * Time.deltaTime);
         return;
      }

      moveVector = Vector3.zero;

      if(controller.isGrounded)
      {
         verticalVelocity = -0.5f;
      }
      else
      {
         verticalVelocity -= gravity * Time.deltaTime;
      }

      //X - Left and Right
      moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

      //Y - Up and Down
      moveVector.y = verticalVelocity;

      //Z - Foward and Backward
      moveVector.z = speed;

      controller.Move (moveVector * Time.deltaTime);
   }

   public void SetSpeed(float modifier)
   {
      speed = 5.0f + modifier;
   }

   // It is beign called every   time our capsule hits something
   void OnCollisionEnter(Collision col){

      if(col.gameObject.tag =="Enemy"){

         Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
      }}

   private void Death()
   {
      isDead = true;
      GetComponent<Score> ().onDeath ();
   }
      
}
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 8:56 pm

bom isso qer dizer q ta colidindo com a tag,agora a acao d morte so vc sabe como é, 

tipo dpois q colidi o q acontece? como ele morre etc;
assim q IsDead é igual ==true o resto do codigo vai ser ignorado na void update como no seu script vc nao chama nenhum outro,


[list=linenums]
[*]void OnCollisionEnter(Collision col){


[*]      if(col.gameObject.tag =="Enemy"){


[*]         Debug.Log("morri o codigo esta correto..."); //printa messagem na unity

[*]      Death();

[*]}}

[/list]
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 9:17 pm

felipehobs1 escreveu:bom isso qer dizer q ta colidindo com a tag,agora a acao d morte so vc sabe como é, 

tipo dpois q colidi o q acontece? como ele morre etc;
assim q IsDead é igual ==true o resto do codigo vai ser ignorado na void update como no seu script vc nao chama nenhum outro,


[list=linenums]
[*]void OnCollisionEnter(Collision col){


[*]      if(col.gameObject.tag =="Enemy"){


[*]         Debug.Log("morri o codigo esta correto..."); //printa messagem na unity

[*]      Death();

[*]}}

[/list]
Justamente não acontece nada o player continua correndo sem morrer
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 9:28 pm

pra ele morre vc pode dar um Destroy(gameobject); ou Destroy(gameobject,float tempo);

dependendo, se tiver animacao ele teria q morrer pela animacao,ou recarregar a cena para riniciar, etc
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qua Dez 27, 2017 9:40 pm

felipehobs1 escreveu:pra ele morre vc pode dar um Destroy(gameobject); ou Destroy(gameobject,float tempo);

dependendo, se tiver animacao ele teria q morrer pela animacao,ou recarregar a cena para riniciar, etc
Pior que não tem animação era bater a téla escurecia e iria para o menu de morte, eu não entendo pq não tah dando certo
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por felipehobs1 em Qua Dez 27, 2017 10:24 pm

mano , só me diz uma coisa, quantos scripts vc ta usando? se necessario poste todos ou mande pm ate 22:00 ainda tou respondendo,
avatar
felipehobs1
Programador

Masculino PONTOS : 473
REPUTAÇÃO : 44
Idade : 26
Áreas de atuação : "Uma Grande Posicao em Programaçao Em #C, Html, , Animaçao Blender Nem Tanto,Sempre na Prática,Foc
Respeito as regras :

Ver perfil do usuário http://www.developezbr.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por gurgelg752 em Qui Dez 28, 2017 4:35 am

Diego Felix escreveu:
felipehobs1 escreveu:opa ,a caixinha deu um erro

Código:
void OnCollisionEnter(Collision col){

    if(col.gameObject.tag =="Enemy"){

       Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
}}
Na unity ta aparecendo uma mensagem que diz: UnityEngine.Debug.Log(Object) mas o player continua sem morrer

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

public class PlayerMotor : MonoBehaviour {

 private CharacterController controller;
 private Vector3 moveVector;

 private float speed = 5.0f;
 private float verticalVelocity = 0.0f;
 private float gravity = 12.0f;

 private float animationDuration = 3.0f;
 private float startime;

 private bool isDead = false;

 // Use this for initialization
 void Start () {
 controller = GetComponent<CharacterController> ();
 startime = Time.time;
 }
 
 // Update is called once per frame
 void Update () {

 if (isDead)
 return;
 

 if(Time.time - startime < animationDuration)
 {
 controller.Move (Vector3.forward * speed * Time.deltaTime);
 return;
 }

 moveVector = Vector3.zero;

 if(controller.isGrounded)
 {
 verticalVelocity = -0.5f;
 }
 else
 {
 verticalVelocity -= gravity * Time.deltaTime;
 }

 //X - Left and Right
 moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

 //Y - Up and Down
 moveVector.y = verticalVelocity;

 //Z - Foward and Backward
 moveVector.z = speed;

 controller.Move (moveVector * Time.deltaTime);
 }

 public void SetSpeed(float modifier)
 {
 speed = 5.0f + modifier;
 }

 // It is beign called every time our capsule hits something
 void OnCollisionEnter(Collision col){

 if(col.gameObject.tag =="Enemy"){

 Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
 }}

 private void Death()
 {
 isDead = true;
 GetComponent<Score> ().onDeath ();
 }
 
}
Mano para falar a real, eu to achoando que tu não sabe nada de programação,tipo tu nem sabe onde colocar o void OnTriggerEnter, e pelo oque eu vi nos seu script, ou você pegou ele pronto na interne ou na asset store do unity,ou por algum motivo que eu não sei ta comentando ele em inglês, só digo uma coisa, se você não souber o básico de programação e ficar pegando scripts pronto talvez nunca consiga fazer seu jogo, é triste mas é a verdade  Crying or Very sad, do que adianta te um script de movimento se você não sabe fazer o player morrer ou sei lá , abrir uma porta, ou algo de tipo se me entendeu , mas espero que você tenha entendido Smile  .
avatar
gurgelg752
Membro
Membro

PONTOS : 105
REPUTAÇÃO : 6
Áreas de atuação : estudo programação c# nas horas vagas

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qui Dez 28, 2017 10:04 am

gurgelg752 escreveu:
Diego Felix escreveu:
felipehobs1 escreveu:opa ,a caixinha deu um erro

Código:
void OnCollisionEnter(Collision col){

    if(col.gameObject.tag =="Enemy"){

       Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
}}
Na unity ta aparecendo uma mensagem que diz: UnityEngine.Debug.Log(Object) mas o player continua sem morrer

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

public class PlayerMotor : MonoBehaviour {

 private CharacterController controller;
 private Vector3 moveVector;

 private float speed = 5.0f;
 private float verticalVelocity = 0.0f;
 private float gravity = 12.0f;

 private float animationDuration = 3.0f;
 private float startime;

 private bool isDead = false;

 // Use this for initialization
 void Start () {
 controller = GetComponent<CharacterController> ();
 startime = Time.time;
 }
 
 // Update is called once per frame
 void Update () {

 if (isDead)
 return;
 

 if(Time.time - startime < animationDuration)
 {
 controller.Move (Vector3.forward * speed * Time.deltaTime);
 return;
 }

 moveVector = Vector3.zero;

 if(controller.isGrounded)
 {
 verticalVelocity = -0.5f;
 }
 else
 {
 verticalVelocity -= gravity * Time.deltaTime;
 }

 //X - Left and Right
 moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

 //Y - Up and Down
 moveVector.y = verticalVelocity;

 //Z - Foward and Backward
 moveVector.z = speed;

 controller.Move (moveVector * Time.deltaTime);
 }

 public void SetSpeed(float modifier)
 {
 speed = 5.0f + modifier;
 }

 // It is beign called every time our capsule hits something
 void OnCollisionEnter(Collision col){

 if(col.gameObject.tag =="Enemy"){

 Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
 }}

 private void Death()
 {
 isDead = true;
 GetComponent<Score> ().onDeath ();
 }
 
}
Mano para falar a real, eu to achoando que tu não sabe nada de programação,tipo tu nem sabe onde colocar o void OnTriggerEnter, e pelo oque eu vi nos seu script, ou você pegou ele pronto na interne ou na asset store do unity,ou por algum motivo que eu não sei ta comentando ele em inglês, só digo uma coisa, se você não souber o básico de programação e ficar pegando scripts pronto talvez nunca consiga fazer seu jogo, é triste mas é a verdade  Crying or Very sad, do que adianta te um script de movimento se você não sabe fazer o player morrer ou sei lá , abrir uma porta, ou algo de tipo se me entendeu , mas espero que você tenha entendido Smile  .
Não amigo bom dia, eu não peguei ele pronto eu fiz ele através de um tutorial em inglês q é justamente pra fazer esse tipo de jogo por isso o script ta em inglês, e eu só encontrei esses tutoriais que ensina a fazer o jogo completo dai resolvi seguir esses mas não peguei nada pronto não, agradeço pela sua dica se tiver como me dar uma ajuda também serei grato, Vlw!!!
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por recagonlei em Qui Dez 28, 2017 11:52 am

Código:
   void OnCollisionEnter(Collision col){
      if(col.gameObject.tag =="Enemy"){
         Debug.Log("Atingi algo, mudando para morto..."); //printa messagem na unity
         Death();
      }}
   private void Death()
   {
      Debug.Log("Eu morri... Morrendo...");
      isDead = true;
      GetComponent<Score> ().onDeath ();
   }


Substitua essa parte no final e veja se quando atingir o inimigo, ele printe no console. Uma dica: sempre que tiver problemas assim, print todos os métodos e veja quais não está sendo chamado ou algum parâmetro errado, dessa forma o debug fica mais fácil e tu consegue achar seus erros melhores. Sempre que atingir alguém que fosse pra ser o inimigo, pause a aplicação, cheque se o inimigo está com a tag certinho, se foi printado ao menos o Collision entre outos...
avatar
recagonlei
Instrutor

Masculino PONTOS : 1045
REPUTAÇÃO : 157
Idade : 48
Áreas de atuação : ~Programação (C#, HTML, CSS3)
~Spriter
~Modelagem
~E acredita que também beatmaker? Maybe
Respeito as regras :

Ver perfil do usuário http://stwodio.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qui Dez 28, 2017 2:02 pm

recagonlei escreveu:
Código:
   void OnCollisionEnter(Collision col){
      if(col.gameObject.tag =="Enemy"){
         Debug.Log("Atingi algo, mudando para morto..."); //printa messagem na unity
         Death();
      }}
   private void Death()
   {
      Debug.Log("Eu morri... Morrendo...");
      isDead = true;
      GetComponent<Score> ().onDeath ();
   }


Substitua essa parte no final e veja se quando atingir o inimigo, ele printe no console. Uma dica: sempre que tiver problemas assim, print todos os métodos e veja quais não está sendo chamado ou algum parâmetro errado, dessa forma o debug fica mais fácil e tu consegue achar seus erros melhores. Sempre que atingir alguém que fosse pra ser o inimigo, pause a aplicação, cheque se o inimigo está com a tag certinho, se foi printado ao menos o Collision entre outos...
A unica coisa que aparece no jogo é a mensagem UnityEngine.Debug.Log(Object) quando player bate no objeto mais não morre 
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 2:53 pm

Só uma pergunta, o obstaculo e o player tem collider, algum dos dois tem RigydBody, senão não funciona.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 3:02 pm

Olha tente tirar o isDead = true; do final
Pois logo acima vc coloca no update que se ela estiver true return, pode ser ai o problema pq automaticamente quando fica true não executa os codigos abaixo.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qui Dez 28, 2017 3:31 pm

Zecandy escreveu:Olha tente tirar o isDead = true; do final
Pois logo acima vc coloca no update que se ela estiver true return, pode ser ai o problema pq automaticamente quando fica true não executa os codigos abaixo.
Cara eu tirei o IsDead = true; e coloquei um Rigidbody e o collider os 2 tem mas ainda nada de morrer não sei o q é acontece
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 3:43 pm

fazo seguinte testa so o

Código:
void OnCollisionEnter(Collision col){
   if(col.gameObject.tag =="Enemy"){
      Debug.Log("Atingi algo, mudando para morto..."); //printa messagem na unity
    
   }}

se debugar o problema é no restante acima ou o script de morte eu testei assim deu certo aqui.
Se possivel printa a tela e manda.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qui Dez 28, 2017 4:00 pm

Zecandy escreveu:fazo seguinte testa so o

Código:
void OnCollisionEnter(Collision col){
   if(col.gameObject.tag =="Enemy"){
      Debug.Log("Atingi algo, mudando para morto..."); //printa messagem na unity
    
   }}

se debugar o problema é no restante acima ou o script de morte eu testei assim deu certo aqui.
Se possivel printa a tela e manda.
Cara não to conseguindo mandar print mais continua aparecendo essa mensagem do Debug UnityEngine.Debug:Log(Object)
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 4:22 pm

Antes


Depois


Fiz um teste com debug e para aparecer o cubo do lado esquerdo ta funfando.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 4:32 pm

O que acontece na morte do personagem o que era pra acontecer?
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Qui Dez 28, 2017 7:40 pm

Zecandy escreveu:O que acontece na morte do personagem o que era pra acontecer?
Era pra ir direto pra tela de game over, não tem animação do player morrendo é bateu no objeto e vai direto pra tela, só ta faltando isso mesmo pra terminar o jogo
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Qui Dez 28, 2017 11:18 pm

Uma solução simples pode ajudar.
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Teste : MonoBehaviour {

   bool isdead = false;
   public CanvasGroup painelTransicao;

   void Start ()
   {
      
   }
   
   void Update ()
   {
      if (isdead)
      {
         painelTransicao.alpha += Time.deltaTime;

      }
      if(painelTransicao.alpha ==1)
      {
         StartCoroutine(ChamaCena());
      }
   }

   void OnCollisionEnter(Collision col){
      if(col.gameObject.tag =="Enemy")
      {
         isdead = true;
      }
   }

   IEnumerator ChamaCena()
   {
      if(painelTransicao.alpha ==1)
      {
         yield return new WaitForSeconds(2);
         SceneManager.LoadScene("NomedaCena");
      }
    }
}

No projeto vc cria um canvas e coloque um panel, nesse painel coloque um Componente canvasGroup e deixe o alfa em 0, e associa esse painel no script não esquecendo tambem de colocar a cena que deseja la no script, assim que atingir o obstaculo a tela começa a escurecer e assim que ficar totalmente preta depois de dois segundos entra na outra cena.
Espero que ajude, aqui deu certinho.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por gurgelg752 em Sex Dez 29, 2017 6:14 pm

Diego Felix escreveu:
gurgelg752 escreveu:
Diego Felix escreveu:
felipehobs1 escreveu:opa ,a caixinha deu um erro

Código:
void OnCollisionEnter(Collision col){

    if(col.gameObject.tag =="Enemy"){

       Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
}}
Na unity ta aparecendo uma mensagem que diz: UnityEngine.Debug.Log(Object) mas o player continua sem morrer

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

public class PlayerMotor : MonoBehaviour {

 private CharacterController controller;
 private Vector3 moveVector;

 private float speed = 5.0f;
 private float verticalVelocity = 0.0f;
 private float gravity = 12.0f;

 private float animationDuration = 3.0f;
 private float startime;

 private bool isDead = false;

 // Use this for initialization
 void Start () {
 controller = GetComponent<CharacterController> ();
 startime = Time.time;
 }
 
 // Update is called once per frame
 void Update () {

 if (isDead)
 return;
 

 if(Time.time - startime < animationDuration)
 {
 controller.Move (Vector3.forward * speed * Time.deltaTime);
 return;
 }

 moveVector = Vector3.zero;

 if(controller.isGrounded)
 {
 verticalVelocity = -0.5f;
 }
 else
 {
 verticalVelocity -= gravity * Time.deltaTime;
 }

 //X - Left and Right
 moveVector.x = Input.GetAxisRaw("Horizontal") * speed;

 //Y - Up and Down
 moveVector.y = verticalVelocity;

 //Z - Foward and Backward
 moveVector.z = speed;

 controller.Move (moveVector * Time.deltaTime);
 }

 public void SetSpeed(float modifier)
 {
 speed = 5.0f + modifier;
 }

 // It is beign called every time our capsule hits something
 void OnCollisionEnter(Collision col){

 if(col.gameObject.tag =="Enemy"){

 Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
 }}

 private void Death()
 {
 isDead = true;
 GetComponent<Score> ().onDeath ();
 }
 
}
Mano para falar a real, eu to achoando que tu não sabe nada de programação,tipo tu nem sabe onde colocar o void OnTriggerEnter, e pelo oque eu vi nos seu script, ou você pegou ele pronto na interne ou na asset store do unity,ou por algum motivo que eu não sei ta comentando ele em inglês, só digo uma coisa, se você não souber o básico de programação e ficar pegando scripts pronto talvez nunca consiga fazer seu jogo, é triste mas é a verdade  Crying or Very sad, do que adianta te um script de movimento se você não sabe fazer o player morrer ou sei lá , abrir uma porta, ou algo de tipo se me entendeu , mas espero que você tenha entendido Smile  .
Não amigo bom dia, eu não peguei ele pronto eu fiz ele através de um tutorial em inglês q é justamente pra fazer esse tipo de jogo por isso o script ta em inglês, e eu só encontrei esses tutoriais que ensina a fazer o jogo completo dai resolvi seguir esses mas não peguei nada pronto não, agradeço pela sua dica se tiver como me dar uma ajuda também serei grato, Vlw!!!
Tudo bem faz sentido.
avatar
gurgelg752
Membro
Membro

PONTOS : 105
REPUTAÇÃO : 6
Áreas de atuação : estudo programação c# nas horas vagas

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Sex Dez 29, 2017 8:00 pm

Zecandy escreveu:Uma solução simples pode ajudar.
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Teste : MonoBehaviour {

 bool isdead = false;
 public CanvasGroup painelTransicao;

 void Start ()
 {
 
 }
 
 void Update ()
 {
 if (isdead)
 {
 painelTransicao.alpha += Time.deltaTime;

 }
 if(painelTransicao.alpha ==1)
 {
 StartCoroutine(ChamaCena());
 }
 }

 void OnCollisionEnter(Collision col){
 if(col.gameObject.tag =="Enemy")
 {
 isdead = true;
 }
 }

 IEnumerator ChamaCena()
 {
 if(painelTransicao.alpha ==1)
 {
 yield return new WaitForSeconds(2);
 SceneManager.LoadScene("NomedaCena");
 }
    }
}

No projeto vc cria um canvas e coloque um panel, nesse painel coloque um Componente canvasGroup e deixe o alfa em 0, e associa esse painel no script não esquecendo tambem de colocar a cena que deseja la no script, assim que atingir o obstaculo a tela começa a escurecer e assim que ficar totalmente preta depois de dois segundos entra na outra cena.
Espero que ajude, aqui deu certinho.

Então no caso eu substituo o meu Script por esse??
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Sex Dez 29, 2017 8:10 pm

Nao so inclementa com o teste que te passei
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Sex Dez 29, 2017 8:15 pm

Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class PlayerMotor : MonoBehaviour {
   
   private CharacterController controller;
   private Vector3 moveVector;
   
   private float speed = 5.0f;
   private float verticalVelocity = 0.0f;
   private float gravity = 12.0f;
   
   private float animationDuration = 3.0f;
   private float startime;
   
   private bool isDead = false;

   public CanvasGroup painelTransicao;
   
   // Use this for initialization
   void Start () {
      controller = GetComponent<CharacterController> ();
      startime = Time.time;
   }
   
   // Update is called once per frame
   void Update () {
      
      if (isDead)
      {
         painelTransicao.alpha += Time.deltaTime;
         
      if(painelTransicao.alpha ==1)
      {
         StartCoroutine(ChamaCena());
      }
         return;
   }
      
      if(Time.time - startime < animationDuration)
      {
         controller.Move (Vector3.forward * speed * Time.deltaTime);
         return;
      }
      
      moveVector = Vector3.zero;
      
      if(controller.isGrounded)
      {
         verticalVelocity = -0.5f;
      }
      else
      {
         verticalVelocity -= gravity * Time.deltaTime;
      }
      
      //X - Left and Right
      moveVector.x = Input.GetAxisRaw("Horizontal") * speed;
      
      //Y - Up and Down
      moveVector.y = verticalVelocity;
      
      //Z - Foward and Backward
      moveVector.z = speed;
      
      controller.Move (moveVector * Time.deltaTime);
   }
   
   public void SetSpeed(float modifier)
   {
      speed = 5.0f + modifier;
   }
   
   // It is beign called every time our capsule hits something
   void OnCollisionEnter(Collision col){
      
      if(col.gameObject.tag =="Enemy"){
         
         Debug.Log("morri o codigo esta correto..."); //printa messagem na unity
      }
   }
   
   IEnumerator ChamaCena()
   {
      if(painelTransicao.alpha ==1)
      {
         yield return new WaitForSeconds(2);
         SceneManager.LoadScene("NomedaCena");
      }
   }
   
}

Ficaria assim no seu player.
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Diego Felix em Sab Dez 30, 2017 3:31 pm

Zecandy escreveu:Uma solução simples pode ajudar.
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Teste : MonoBehaviour {

 bool isdead = false;
 public CanvasGroup painelTransicao;

 void Start ()
 {
 
 }
 
 void Update ()
 {
 if (isdead)
 {
 painelTransicao.alpha += Time.deltaTime;

 }
 if(painelTransicao.alpha ==1)
 {
 StartCoroutine(ChamaCena());
 }
 }

 void OnCollisionEnter(Collision col){
 if(col.gameObject.tag =="Enemy")
 {
 isdead = true;
 }
 }

 IEnumerator ChamaCena()
 {
 if(painelTransicao.alpha ==1)
 {
 yield return new WaitForSeconds(2);
 SceneManager.LoadScene("NomedaCena");
 }
    }
}

No projeto vc cria um canvas e coloque um panel, nesse painel coloque um Componente canvasGroup e deixe o alfa em 0, e associa esse painel no script não esquecendo tambem de colocar a cena que deseja la no script, assim que atingir o obstaculo a tela começa a escurecer e assim que ficar totalmente preta depois de dois segundos entra na outra cena.
Espero que ajude, aqui deu certinho.
Amigo vou ter q te incomodar de novo, como faço pra associar o painel no script??
avatar
Diego Felix
Avançado
Avançado

Masculino PONTOS : 599
REPUTAÇÃO : 63
Idade : 27
Respeito as regras :

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

DÚVIDA Re: DUVIDA JOGO CORRIDA INFINITA

Mensagem por Zecandy em Sab Dez 30, 2017 5:02 pm

No inspector la no seu script tem uma variavel publica
avatar
Zecandy
Programador

Masculino PONTOS : 956
REPUTAÇÃO : 137
Idade : 35
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