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:
Curso de unity presencial
Preciso de Designer/Artista Para Card Game 2D
Adicionar marcador de Tempo no jogo
ERRO SCRIPT
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
ferr2D vale a pena?
como fazer uma objeto se mover sozinho?
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
Duvida sobre o Unet
BUG COM NAVMESH Alguem Sabe Arrumar?
(Dúvida) Photon - Slot de salas criadas.
Rigidbody2D AddForce - Como adicionar uma força oneshot.
visualizador de ritmo
SCRIPT TIRO - UNITY 3d
duvida
Frameworks/tutoriais para jogo 2D?
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Mesmo material mas objeto mais claro
✖ Projeto HOSPICE Horror Game !! ✖
Machado PBR | 3D Axe with PBR textures.
Em breve Ilhas Multiplayer, sobrevivencia PVP E PVM
Text multiplayer
[TUTORIAL] Avião Script
Colocar Gifs em uma UI Unity 5?
Como faço para a musica continuar tocando quando muda de cena?
MANTER TELA DO CELULAR LIGADA
Tirar Fotos no Unity 5 FPS
[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
Alguém pode fazer um rig pra mão do meu personagem?
Verificar quantos objetos tem a seguinte tag na scena
the ŞỮŘVƗVΔŁ ƗŞŁΔŇĐ [Lançamento]
Time
Unity Banco de Dados
Grave no Som da Unity!
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
Assesar Script De Outra Script
Camera FPS atravessa paredes
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 ?
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
-[SCRIPT DE POSIÇÕES ]-
[Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
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
Transição de Cores Entre Cenas!
Sistema de corrida
Como Detectar toques e destruir objetos no jogo
Terreno procedural com blocos para baixo
alguem poderia me ajudar??
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
alguem sabe um sistema/ideia/tutorial de nicknames/indentificaçao para NETWORK local???
Jogo na Play Store e atualmente tem 40 downloads.
Translate.rotate ( 0, 0, Erro )
[Duvida] Time.TimeScale em jogo multiplayer
Aplicativo Reseta o Banco de Dados - Sqlite
7 erros no script conectar
Audio Player C#
Divulgaçao de Battle of Worlds
Duvida sobre Screenshot e share
Sistema de Buscar o Inimigo Mais Perto
[TUTORIAL] Criar um Array ( lista de objetos )
Casa do CJ Remake unity 2017 + Blender
Fazer um objeto brilhar
criação de terreno realista
Navmesh em mapa gerado aleatoriamente existe?
Linkar Objetos FIlhos!
Seguir um raio no raycast a partir do ponto da tela clicado
Destruir Objetos Filhos
Como fazer um jogo Isometrico com Unity ?
[Duvida] Prefab instanciado não esta indo na direção correta
Sistema De dois Players
Formação de uma equipe pequena
Terreno Procedural
quero instanciar um obj vazio como faço?
Ontem à(s) 11:45 pm
Ontem à(s) 11:11 pm
Ontem à(s) 10:44 pm
Ontem à(s) 9:57 pm
Ontem à(s) 9:42 pm
Ontem à(s) 9:36 pm
Ontem à(s) 8:17 pm
Ontem à(s) 7:04 pm
Ontem à(s) 5:52 pm
Ontem à(s) 5:33 pm
Ontem à(s) 4:44 pm
Ontem à(s) 3:42 pm
Ontem à(s) 3:39 pm
Ontem à(s) 2:13 pm
Ontem à(s) 1:27 pm
Ontem à(s) 1:19 pm
Ontem à(s) 1:05 pm
Ontem à(s) 12:16 pm
Ontem à(s) 11:53 am
Ontem à(s) 11:37 am
Ontem à(s) 9:58 am
Ontem à(s) 9:27 am
Ontem à(s) 6:10 am
Ontem à(s) 1:53 am
Seg Out 16, 2017 9:17 pm
Seg Out 16, 2017 8:06 pm
Seg Out 16, 2017 5:27 pm
Seg Out 16, 2017 4:26 pm
Seg Out 16, 2017 3:08 pm
Seg Out 16, 2017 12:52 pm
Seg Out 16, 2017 10:38 am
Seg Out 16, 2017 10:36 am
Seg Out 16, 2017 10:07 am
Seg Out 16, 2017 9:44 am
Seg Out 16, 2017 6:53 am
Seg Out 16, 2017 12:53 am
Dom Out 15, 2017 9:00 pm
Dom Out 15, 2017 8:42 pm
Dom Out 15, 2017 8:35 pm
Dom Out 15, 2017 7:23 pm
Dom Out 15, 2017 7:05 pm
Dom Out 15, 2017 6:36 pm
Dom Out 15, 2017 6:06 pm
Dom Out 15, 2017 5:59 pm
Dom Out 15, 2017 5:41 pm
Dom Out 15, 2017 5:08 pm
Dom Out 15, 2017 4:57 pm
Dom Out 15, 2017 4:11 pm
Dom Out 15, 2017 4:04 pm
Dom Out 15, 2017 3:29 pm
Dom Out 15, 2017 2:44 pm
Dom Out 15, 2017 1:59 pm
Dom Out 15, 2017 1:42 pm
Dom Out 15, 2017 1:37 pm
Dom Out 15, 2017 1:18 pm
Dom Out 15, 2017 12:44 pm
Dom Out 15, 2017 11:25 am
Dom Out 15, 2017 10:03 am
Dom Out 15, 2017 9:19 am
Dom Out 15, 2017 9:19 am
Dom Out 15, 2017 9:09 am
Dom Out 15, 2017 8:23 am
Dom Out 15, 2017 1:39 am
Sab Out 14, 2017 11:57 pm
Sab Out 14, 2017 11:30 pm
Sab Out 14, 2017 7:07 pm
Sab Out 14, 2017 6:01 pm
Sab Out 14, 2017 5:55 pm
Sab Out 14, 2017 4:25 pm
Sab Out 14, 2017 12:50 pm
Sab Out 14, 2017 12:46 pm
Sex Out 13, 2017 11:58 pm
Sex Out 13, 2017 11:05 pm
Sex Out 13, 2017 9:21 pm
Sex Out 13, 2017 8:27 pm
Sex Out 13, 2017 5:45 pm
Sex Out 13, 2017 5:37 pm
Sex Out 13, 2017 3:31 pm
Sex Out 13, 2017 2:59 pm
Sex Out 13, 2017 2:02 pm
Sex Out 13, 2017 11:17 am
Sex Out 13, 2017 9:27 am
Sex Out 13, 2017 2:17 am
Qui Out 12, 2017 11:57 pm
Qui Out 12, 2017 11:26 pm
Qui Out 12, 2017 11:23 pm
Qui Out 12, 2017 8:32 pm
Qui Out 12, 2017 7:23 pm
Qui Out 12, 2017 2:58 pm
Qui Out 12, 2017 12:51 pm
Qui Out 12, 2017 11:58 am
Qui Out 12, 2017 6:49 am
Qua Out 11, 2017 11:37 pm
Qua Out 11, 2017 10:01 pm
Qua Out 11, 2017 3:52 pm
Qua Out 11, 2017 12:45 pm
Qua Out 11, 2017 12:42 pm
Qua Out 11, 2017 8:38 am
Qua Out 11, 2017 12:31 am
fariscolucas
fecirineu
fariscolucas
endersoneneilsa
natanael.olimpio
alxgames
glauco
Callyde Jr
Unidade3d5
WesClaudino
EvertonSantos
BRGC
michelly
Phph09
Phph09
fecirineu
rafaelllsd
ScorpionG4mer
AndyShow
EvertonSantos
diegopds
gabrielgrk
zZAndersonZz
Fagner
MRX
ScorpionG4mer
Unidade3d5
richerd
Matrirxp
Callyde Jr
colosso16
colosso16
Encracker
Joao07
Callyde Jr
EvertonSantos
EvertonSantos
Ghosthy
felipehobs1
MRX
Callyde Jr
Callyde Jr
Duarte
glauco
luis gustavo
Encracker
thales.ulisses
heliab125
marcelinodns
luis gustavo
Duarte
CodeZone
contaska
contaska
dstaroski
thales.ulisses
Weslley
dimmuo
dstaroski
glauco
dstaroski
Phph09
eusouoglaydson
Weslley
Fagner
alxgames
Fagner
Fagner
MRX
Callyde Jr
Callyde Jr
TrevorCrazy
luizmauro123
Madness
glauco
luiz12345
Fagner
Felipe Costa
Phph09
ubroly
PatifeCraft
dstaroski
Dom3000
raulframos
fecirineu
fecirineu
MateusWTP
Phph09
PatifeCraft
luizmauro123
Duarte
Phph09
dimmuo
EvertonSantos
BRGC
Callyde Jr
fecirineu
PatifeCraft
Dom3000

Me Ajudem com esse Error!

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

DÚVIDA Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 12:56 pm

ENTÃO PESSOAL VOU EXPLICAR PARA VOCES ESSE ERROR ESTA DANDO NO SCRIPT DO INIMIGO EU COLOQUEI ELE PARA LINKAR O OBJETO AUTOMATICAMENTE ELE ESTA LINKANDO PERFEITAMENTE E ESTA INDO ATRAS DO PLAYER SÓ QUE QUANDO ELE MORRER ELE NAO ADICIONA +10 ONTOS NO SCORE E EM SEGUIDA DAR ESSE ERROR:



ABAIXO O SCRIPT DO INIMIGO:

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

public class EnemyHealth : MonoBehaviour
{
 public int startingHealth = 100;
 public int currentHealth;
 public float sinkSpeed = 2.5f;
 public int scoreValue = 10;
 public AudioClip deathClip;


 Animator anim;
 AudioSource enemyAudio;
 ParticleSystem hitParticles;
 CapsuleCollider capsuleCollider;
 bool isDead;
 bool isSinking;

 ScoreManager sm;

 public GameObject ScoreGameObject;//Coloca o GameObject onde o ScoreManager esta ||||| SETA ISSOOOOOOOOO
 public GameObject Inimigo; //Inimigo ||||||||||||||||| ISSO TBM

 public float DelayDeath;//Daley para a destroy do inimigo
 float Ctime;

 void Start ()
 {
 if (ScoreGameObject == null)
 ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");
 }

 void Awake ()
 {
 anim = GetComponent <Animator> ();
 enemyAudio = GetComponent <AudioSource> ();
 hitParticles = GetComponentInChildren <ParticleSystem> ();
 /*if(ScoreGameObject  == null) {
 print ("OK");
 sm = ScoreGameObject.GetComponent<ScoreManager> ();
 }*/
 capsuleCollider = GetComponent <CapsuleCollider> ();

 currentHealth = startingHealth;
 }


 void Update ()
 {
 if(isSinking)
 {
 transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);
 }
 }


 public void TakeDamage (int amount, Vector3 hitPoint)
 {
 if(isDead)
 return;

 enemyAudio.Play ();

 currentHealth -= amount;

 hitParticles.transform.position = hitPoint;
 hitParticles.Play();

 if(currentHealth <= 0)
 {
 Death ();
 }
 }


 void Death ()
 {
 //print("Death ok");
 currentHealth = 0;// setamos a vida pra 0 pra nao ficar negativa
 isDead = true;

 anim.SetTrigger ("Dead");

 enemyAudio.clip = deathClip;
 enemyAudio.Play ();

 // executamos o metodo StartSinking que não estava sendo usado
 StartSinking();
 }


 public void StartSinking ()
 {
 GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;
 GetComponent <Rigidbody> ().isKinematic = true;
 isSinking = true;
 print ("Pontos Ok");
 sm.score += scoreValue;
 Ctime += 1 * Time.deltaTime;
 if(Ctime == DelayDeath){    
 Destroy (Inimigo);
 }    

 }
}

OBS: A LINHA 41 ATÉ A 44 ESTÁ COMENTADA POR QUE ESTAVA DANDO ERROR E NAO ESTAVA LINKANDO O OBJETO:


E O INIMIGO NÃO ESTA SENDO DESTRUÍDO APOS A MORTE DEPOIS QUE ELE MORRE ELE FICA CAINDO O MAPA TODO INIFINITAMENTE!


AQUI ESTA O SCRIPT DO SCORE:

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

public class ScoreManager : MonoBehaviour
{
 public int score;        
 public UnityEngine.UI.Text text;//coloca a label(Text UI) aqui

 void Update ()
 {

 text.text = "Score: " + score;
 }
}



EU CHEGUEI A ESSE SCRIPT COM A AJUDA DESSE OUTRO TÓPICO:
http://www.schultzgames.com/t4474-score-ao-matar-inimigo#31347

AVISO: SOU NOVO EM PROGRAMAÇÃO COMECEI A ESTUDAR ESSA SEMANA ESTUDO EM CASA PELA INTERNET E TUTORIAL NO YOUTUBE. study
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por Weslley em Sab Maio 13, 2017 2:06 pm

provavelmente você esqueceu de setar a referencia do objeto da linha 101
avatar
Weslley
Moderador

Masculino PONTOS : 2787
REPUTAÇÃO : 597
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 2:10 pm

weslleyFx escreveu:provavelmente você esqueceu de setar a referencia do objeto da linha 101
não entendi como assim? como faço?
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por Weslley em Sab Maio 13, 2017 2:18 pm

acredito que a referencia seja nula para sm
avatar
Weslley
Moderador

Masculino PONTOS : 2787
REPUTAÇÃO : 597
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 2:28 pm

ASSIM?
Código:
if( sm == null)
      {
      print ("Pontos Ok");
      sm.score += scoreValue;
   }

DEU O MESMO ERROR DEPOIS QUE O INIMIGO MORRE
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por fecirineu em Sab Maio 13, 2017 3:09 pm

bruxamissi escreveu:ENTÃO PESSOAL VOU EXPLICAR PARA VOCES ESSE ERROR ESTA DANDO NO SCRIPT DO INIMIGO EU COLOQUEI ELE PARA LINKAR O OBJETO AUTOMATICAMENTE ELE ESTA LINKANDO PERFEITAMENTE E ESTA INDO ATRAS DO PLAYER SÓ QUE QUANDO ELE MORRER ELE NAO ADICIONA +10 ONTOS NO SCORE E EM SEGUIDA DAR ESSE ERROR:


tente colocar o  ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");
dentro do start sem o if;
avatar
fecirineu
Programador

Masculino PONTOS : 771
REPUTAÇÃO : 90
Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por fecirineu em Sab Maio 13, 2017 3:12 pm

fecirineu escreveu:
bruxamissi escreveu:ENTÃO PESSOAL VOU EXPLICAR PARA VOCES ESSE ERROR ESTA DANDO NO SCRIPT DO INIMIGO EU COLOQUEI ELE PARA LINKAR O OBJETO AUTOMATICAMENTE ELE ESTA LINKANDO PERFEITAMENTE E ESTA INDO ATRAS DO PLAYER SÓ QUE QUANDO ELE MORRER ELE NAO ADICIONA +10 ONTOS NO SCORE E EM SEGUIDA DAR ESSE ERROR:


tente colocar o  ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");
dentro do start sem o if;
verifique tambem o objeto com a tag : ScoreGameObject, pois se ela tiver uma letra errada ou diminuitiva ou maiscula pode dar erro..
avatar
fecirineu
Programador

Masculino PONTOS : 771
REPUTAÇÃO : 90
Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 3:24 pm

fecirineu escreveu:
bruxamissi escreveu:ENTÃO PESSOAL VOU EXPLICAR PARA VOCES ESSE ERROR ESTA DANDO NO SCRIPT DO INIMIGO EU COLOQUEI ELE PARA LINKAR O OBJETO AUTOMATICAMENTE ELE ESTA LINKANDO PERFEITAMENTE E ESTA INDO ATRAS DO PLAYER SÓ QUE QUANDO ELE MORRER ELE NAO ADICIONA +10 ONTOS NO SCORE E EM SEGUIDA DAR ESSE ERROR:


tente colocar o  ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");
dentro do start sem o if;
FUNCIONOU DO MESMO JEITO ELE LINKOU O OBJETO NORMAL MAIS QUANDO AMTO O INIMIGO ELE DA ESSE ERROR E NAO AUMENTA O SCORE
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 3:27 pm

VOCE CONSEGUE FAZER ESSE SCRIPT LINKAR O "GAMEOBJECT" DA LINHA 21 AUTOMATICAMENTE?
POR QUE ESSE É O SCRIPT DO INIMIGO QUE FICA DANDO SPAWN SOZINHO.
[list=linenums]
[*]using UnityEngine;

[*]using CompleteProject;


[*]public class EnemyHealth : MonoBehaviour

[*]{

[*]    public int startingHealth = 100;

[*]    public int currentHealth;

[*]    public float sinkSpeed = 2.5f;

[*]    public int scoreValue = 10;

[*]    public AudioClip deathClip;



[*]    Animator anim;

[*]    AudioSource enemyAudio;

[*]    ParticleSystem hitParticles;

[*]    CapsuleCollider capsuleCollider;

[*]    bool isDead;

[*]    bool isSinking;


[*]    ScoreManager sm;

[*]    public GameObject ScoreGameObject;//Coloca o GameObject onde o ScoreManager esta ||||| SETA ISSOOOOOOOOO

[*]piblic GameObject Inimigo;//Inimigo ||||||||||||||||| ISSO TBM


[*]public float DelayDeath;//Daley para a destroy do inimigo

[*]float Ctime;


[*]    void Awake ()

[*]    {

[*]        anim = GetComponent <Animator> ();

[*]        enemyAudio = GetComponent <AudioSource> ();

[*]        hitParticles = GetComponentInChildren <ParticleSystem> ();

[*]sm = ScoreGameObject.GetComponent<ScoreManager>():

[*]        capsuleCollider = GetComponent <CapsuleCollider> ();


[*]        currentHealth = startingHealth;

[*]    }



[*]    void Update ()

[*]    {

[*]        if(isSinking)

[*]        {

[*]            transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);

[*]        }

[*]    }



[*]    public void TakeDamage (int amount, Vector3 hitPoint)

[*]    {

[*]        if(isDead)

[*]            return;


[*]        enemyAudio.Play ();


[*]        currentHealth -= amount;

[*]           

[*]        hitParticles.transform.position = hitPoint;

[*]        hitParticles.Play();


[*]        if(currentHealth <= 0)

[*]        {

[*]            Death ();

[*]        }

[*]    }



[*]    void Death ()

[*]    {

[*]      print("Death ok");

[*]      currentHealth = 0;// setamos a vida pra 0 pra nao ficar negativa

[*]        isDead = true;


[*]        anim.SetTrigger ("Dead");


[*]        enemyAudio.clip = deathClip;

[*]        enemyAudio.Play ();

[*]     

[*]      // executamos o metodo StartSinking que não estava sendo usado

[*]      StartSinking();

[*]    }



[*]    public void StartSinking ()

[*]    {

[*]        GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;

[*]        GetComponent <Rigidbody> ().isKinematic = true;

[*]        isSinking = true;

[*]        sm.score += scoreValue;

[*]Ctime += 1 * Time.deltaTime;

[*]if(Ctime == DelayDeath){    

[*]   Destroy (Inimigo);

[*]}    


[*]}

[*]}

[/list]
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por Manawydan em Sab Maio 13, 2017 8:35 pm

Ja pensou em usar Singleton?
Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour
{
   public static ScoreManager Singleton{get; private set;}
    int score;


    Text text;


    void Awake ()
    {
      Singleton = this;
        text = GetComponent <Text> ();
        score = 0;
    }


    void Update ()
    {
        text.text = "Score: " + score;
    }
 
  public void AddScore(int ammount)
  {
      print("AddScore ok");
      score += ammount;
  }
}
Ai quando necessitar utilizar o ScoreManager é so usar:
Código:
ScoreManager.Singleton.SeuMetodo();
No caso so adicionar essa linha no codigo do Inimigo:
Código:
ScoreManager.Singleton.AddScore(scoreValue);
avatar
Manawydan
Moderador

PONTOS : 1031
REPUTAÇÃO : 176
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por bruxamissi em Sab Maio 13, 2017 11:48 pm

Entao no caso os Script ficaria assim:

Inimigo:
Código:
using UnityEngine;
using CompleteProject;
using UnityEngine.UI;
using System.Collections;

public class EnemyHealth : MonoBehaviour
{
   public int startingHealth = 100;
   public int currentHealth;
   public float sinkSpeed = 2.5f;
   public int scoreValue = 10;
   public AudioClip deathClip;


   Animator anim;
   AudioSource enemyAudio;
   ParticleSystem hitParticles;
   CapsuleCollider capsuleCollider;
   bool isDead;
   bool isSinking;

   ScoreManager sm;

   public GameObject ScoreGameObject;//Coloca o GameObject onde o ScoreManager esta ||||| SETA ISSOOOOOOOOO
   public GameObject Inimigo; //Inimigo ||||||||||||||||| ISSO TBM

   public float DelayDeath;//Daley para a destroy do inimigo
   float Ctime;

   void Start ()
   {
      
      if (ScoreGameObject == null)
      ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");
   }

   void Awake ()
   {
      anim = GetComponent <Animator> ();
      enemyAudio = GetComponent <AudioSource> ();
      hitParticles = GetComponentInChildren <ParticleSystem> ();
   
         //print ("OK");
      //sm = ScoreGameObject.GetComponent<ScoreManager> ();
      
         capsuleCollider = GetComponent <CapsuleCollider> ();

      currentHealth = startingHealth;
   }


   void Update ()
   {
      if(isSinking)
      {
         transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);
      }
   }


   public void TakeDamage (int amount, Vector3 hitPoint)
   {
      if(isDead)
         return;

      enemyAudio.Play ();

      currentHealth -= amount;

      hitParticles.transform.position = hitPoint;
      hitParticles.Play();

      if(currentHealth <= 0)
      {
         Death ();
      }
   }


   void Death ()
   {
      //print("Death ok");
      currentHealth = 0;// setamos a vida pra 0 pra nao ficar negativa
      isDead = true;

      anim.SetTrigger ("Dead");

      enemyAudio.clip = deathClip;
      enemyAudio.Play ();

      // executamos o metodo StartSinking que não estava sendo usado
      StartSinking();
   }


   public void StartSinking ()
   {
      GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;
      GetComponent <Rigidbody> ().isKinematic = true;
      isSinking = true;


      print ("Pontos Ok");
      ScoreManager.Singleton.AddScore(scoreValue);

      //sm.score += scoreValue;
   
      Ctime += 1 * Time.deltaTime;
      if(Ctime == DelayDeath){   
         Destroy (Inimigo);
      }   

   }
}

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

public class ScoreManager : MonoBehaviour
{
   public static ScoreManager Singleton{get; private set;}
   int score;


   Text text;


   void Awake ()
   {
      Singleton = this;
      text = GetComponent <Text> ();
      score = 0;
   }


   void Update ()
   {
      text.text = "Score: " + score;
   }

   public void AddScore(int ammount)
   {
      print("AddScore ok");
      score += ammount;
   }
}

NAO FUNCIONOU ESTA DANDO ERROR:
avatar
bruxamissi
Avançado
Avançado

Masculino PONTOS : 638
REPUTAÇÃO : 17
Idade : 17
Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UCPtkRtiJCQKFVz80fE9kIeA

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por rafaelllsd em Sab Maio 13, 2017 11:55 pm

avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 2174
REPUTAÇÃO : 328
Idade : 17
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Me Ajudem com esse Error!

Mensagem por diegopds em Seg Maio 15, 2017 12:40 pm

bruxamissi escreveu:
weslleyFx escreveu:provavelmente você esqueceu de setar a referencia do objeto da linha 101
não entendi como assim? como faço?

vc deve colocar assim,onde ta a linha "sm.score += scoreValue;" na sua void, vc apaga e coloca ScoreGameObject.GetComponent<ScoreManager>().score+=scoreValue

diegopds
Membro
Membro

Masculino PONTOS : 387
REPUTAÇÃO : 4
Idade : 19
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