diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
2 participantes
Página 1 de 1
diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
oi , meu nome é rafael e estou fazendo um jogo em que o personagem tem um sistema de niveis(a cada quantidade de coletaveis que tem aumenta o nivel do player),
estou preso na parte que é pra pegar o valor do nivel e vida do inimigo que esta collidindo com o player,ainda nao sei colocar prints nesse forum.
esta aqui o codigo do jogador;
estou preso na parte que é pra pegar o valor do nivel e vida do inimigo que esta collidindo com o player,ainda nao sei colocar prints nesse forum.
esta aqui o codigo do jogador;
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class jogador : MonoBehaviour
{
public int nivel;
// public int poder=2;
public bool atacou;
public int vida;
public int coletavis;
// Start is called before the first frame update
void Start() {
// poder = nivel * poder;
nivel = coletavis / 5;
}
// Update is called once per frame
void Update()
{
// poder = nivel * poder;
nivel = coletavis / 5;
if(atacou==true && nivel>/* aqui fica o nivel do inimigo que o player esta colidiu*/)
{
//diminui a vida o inimigo
}
else
if(atacou==true && nivel < /* aqui fica o nivel do inimigo que o player esta colidiu*/)
{
vida--;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag=="coletavel")
{
coletavis++;
Destroy(//coletavel);
}
if (collision.tag == "branco")
{
atacou = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.tag == "branco")
{
atacou = false;
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class inimigo : MonoBehaviour
{
public int nivelEnemy;
public int vidaEnemy;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(vidaEnemy<=0)
{
// destroi o enemy. Destroy(gameObject);
}
}
}
RRafael000- Iniciante
- PONTOS : 2015
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : modelagem em 3d do blender,programação 2D na unity.
Respeito as regras :
Re: diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
Tenta Isto:
para prints Recomendo: https://prnt.sc/ (Você faz o upload para esse site depois posta o link aqui)
para prints Recomendo: https://prnt.sc/ (Você faz o upload para esse site depois posta o link aqui)
- Código:
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
int teste2 = col.gameObject.GetComponent<inimigo>().vidaEnemy;
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
Magnatah escreveu:Tenta Isto:
para prints Recomendo: https://prnt.sc/ (Você faz o upload para esse site depois posta o link aqui)
- Código:
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
int teste2 = col.gameObject.GetComponent<inimigo>().vidaEnemy;
eu coloquei esse codigo e terminei o codigo mas deu esse erro:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class jogador : MonoBehaviour
{
public int nivel;
// public int poder=2;
public bool atacou;
public int vida;
public int coletavis;
private BoxCollider2D col;
// Start is called before the first frame update
void Start() {
col = GetComponent<BoxCollider2D>();
// poder = nivel * poder;
nivel = coletavis / 5;
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
}
// Update is called once per frame
void Update()
{
// poder = nivel * poder;
nivel = coletavis / 5;
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
if (atacou==true && nivel>teste)
{
int teste2 = col.gameObject.GetComponent<inimigo>().vidaEnemy--;
}
else
if(atacou==true && nivel <teste)
{
vida--;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag=="coletavel")
{
coletavis++;
// Destroy(//coletavel);
}
if (collision.tag == "branco")
{
atacou = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.tag == "branco")
{
atacou = false;
}
}
}
RRafael000- Iniciante
- PONTOS : 2015
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : modelagem em 3d do blender,programação 2D na unity.
Respeito as regras :
Re: diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
RRafael000 escreveu:Magnatah escreveu:Tenta Isto:
para prints Recomendo: https://prnt.sc/ (Você faz o upload para esse site depois posta o link aqui)
- Código:
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
int teste2 = col.gameObject.GetComponent<inimigo>().vidaEnemy;
eu coloquei esse codigo e terminei o codigo mas deu esse erro:NullReferenceException: Object reference not set to an instance of an objectjogador.Start () (at Assets/scripts/jogador.cs:21)NullReferenceException: Object reference not set to an instance of an objectjogador.Update () (at Assets/scripts/jogador.cs:30)
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class jogador : MonoBehaviour
{
public int nivel;
// public int poder=2;
public bool atacou;
public int vida;
public int coletavis;
private BoxCollider2D col;
// Start is called before the first frame update
void Start() {
col = GetComponent<BoxCollider2D>();
// poder = nivel * poder;
nivel = coletavis / 5;
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
}
// Update is called once per frame
void Update()
{
// poder = nivel * poder;
nivel = coletavis / 5;
int teste = col.gameObject.GetComponent<inimigo>().nivelEnemy;
if (atacou==true && nivel>teste)
{
int teste2 = col.gameObject.GetComponent<inimigo>().vidaEnemy--;
}
else
if(atacou==true && nivel <teste)
{
vida--;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag=="coletavel")
{
coletavis++;
// Destroy(//coletavel);
}
if (collision.tag == "branco")
{
atacou = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.tag == "branco")
{
atacou = false;
}
}
}
RRafael000- Iniciante
- PONTOS : 2015
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : modelagem em 3d do blender,programação 2D na unity.
Respeito as regras :
Re: diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
O Código era para ser usado no "oncollisionenter2d", Erro Meu Por Ter Esquecido de Falar.
Exemplos de Uso do "oncollisionenter2d": https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionEnter2D.html
Exemplos de Uso do "oncollisionenter2d": https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionEnter2D.html
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Tópicos semelhantes
» [Duvida]Como fazer uma barra de vida usando o canvas?obs:so a parte de diminuir a barra
» fazer o player perde vida e sua barra de vida descer conforme o dano
» [RESOLVIDO] Diminuir Barra de Vida
» Como colocar dano no inimigo? e vida no player?
» Unity AI Enemy (Qunado o Monstro Encostrar No Player Dar GameOver)
» fazer o player perde vida e sua barra de vida descer conforme o dano
» [RESOLVIDO] Diminuir Barra de Vida
» Como colocar dano no inimigo? e vida no player?
» Unity AI Enemy (Qunado o Monstro Encostrar No Player Dar GameOver)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos