quero que minha barra de hp realmente perda vida
3 participantes
Página 1 de 1
quero que minha barra de hp realmente perda vida
essa minha player
using UnityEngine;
using System.Collections;
public class PLAYER : MonoBehaviour {
public static float VIDA = 100;
void Update (){
if (VIDA <= 0) {
Debug.Log ("morreu");
Destroy (this);
}
}
}
essa e minha vida
using UnityEngine;
using System.Collections;
public class VIDA : MonoBehaviour {
public float VidaDoPersonagem;
public Texture Sangue,Contorno;
public int VidaCheia = 100;
void Start (){
VidaDoPersonagem = VidaCheia;
}
void Update (){
if (VidaDoPersonagem >= VidaCheia) {
VidaDoPersonagem = VidaCheia;
} else if (VidaDoPersonagem <= 0) {
VidaDoPersonagem = 0;
}
}
void OnGUI (){
GUI.DrawTexture (new Rect (Screen.width / 25, Screen.height / 15, Screen.width / 5.5f/VidaCheia*VidaDoPersonagem, Screen.height / 25), Sangue);
GUI.DrawTexture (new Rect (Screen.width / 40, Screen.height / 40, Screen.width / 5, Screen.height / , Contorno);
}
}
essa e a de dano por queda
using UnityEngine;
using System.Collections;
public class QUEDA : MonoBehaviour {
private CharacterController controlador;
public Transform Player;
private float UltimaPosicaoEmY,DistanciaDeQueda;
public float DistanciaMaximaDeQueda = 4,DanoPorMetro = 5 ;
void Start (){
controlador = GetComponent }
void Update (){
if (UltimaPosicaoEmY > Player.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Player.transform.position.y;
}
UltimaPosicaoEmY = Player.transform.position.y;
if (DistanciaDeQueda >= DistanciaMaximaDeQueda && controlador.isGrounded) {
PLAYER.VIDA = PLAYER.VIDA - DanoPorMetro*DistanciaDeQueda;
Debug.Log (DanoPorMetro*DistanciaDeQueda);
ZerarVariaveis ();
}
if (DistanciaDeQueda < DistanciaMaximaDeQueda && controlador.isGrounded) {
ZerarVariaveis ();
}
}
void ZerarVariaveis (){
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 0;
}
}
oque que eu quero e o seguinte quando eu caio de um lugar aparece que tomei exemplo 24 dano mais isso nao acontece na minha barra de hp que continua 100% mano se voce conseguir fazer um tutorial eu agradeceria muito acompanho seu canal a tempo obg desde ja caso for simples pode me ajudar por aquie mesmo obg desde jah.
using UnityEngine;
using System.Collections;
public class PLAYER : MonoBehaviour {
public static float VIDA = 100;
void Update (){
if (VIDA <= 0) {
Debug.Log ("morreu");
Destroy (this);
}
}
}
essa e minha vida
using UnityEngine;
using System.Collections;
public class VIDA : MonoBehaviour {
public float VidaDoPersonagem;
public Texture Sangue,Contorno;
public int VidaCheia = 100;
void Start (){
VidaDoPersonagem = VidaCheia;
}
void Update (){
if (VidaDoPersonagem >= VidaCheia) {
VidaDoPersonagem = VidaCheia;
} else if (VidaDoPersonagem <= 0) {
VidaDoPersonagem = 0;
}
}
void OnGUI (){
GUI.DrawTexture (new Rect (Screen.width / 25, Screen.height / 15, Screen.width / 5.5f/VidaCheia*VidaDoPersonagem, Screen.height / 25), Sangue);
GUI.DrawTexture (new Rect (Screen.width / 40, Screen.height / 40, Screen.width / 5, Screen.height / , Contorno);
}
}
essa e a de dano por queda
using UnityEngine;
using System.Collections;
public class QUEDA : MonoBehaviour {
private CharacterController controlador;
public Transform Player;
private float UltimaPosicaoEmY,DistanciaDeQueda;
public float DistanciaMaximaDeQueda = 4,DanoPorMetro = 5 ;
void Start (){
controlador = GetComponent
void Update (){
if (UltimaPosicaoEmY > Player.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Player.transform.position.y;
}
UltimaPosicaoEmY = Player.transform.position.y;
if (DistanciaDeQueda >= DistanciaMaximaDeQueda && controlador.isGrounded) {
PLAYER.VIDA = PLAYER.VIDA - DanoPorMetro*DistanciaDeQueda;
Debug.Log (DanoPorMetro*DistanciaDeQueda);
ZerarVariaveis ();
}
if (DistanciaDeQueda < DistanciaMaximaDeQueda && controlador.isGrounded) {
ZerarVariaveis ();
}
}
void ZerarVariaveis (){
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 0;
}
}
oque que eu quero e o seguinte quando eu caio de um lugar aparece que tomei exemplo 24 dano mais isso nao acontece na minha barra de hp que continua 100% mano se voce conseguir fazer um tutorial eu agradeceria muito acompanho seu canal a tempo obg desde ja caso for simples pode me ajudar por aquie mesmo obg desde jah.
YGORRIEFF- Iniciante
- PONTOS : 3337
REPUTAÇÃO : 0
Re: quero que minha barra de hp realmente perda vida
O erro tava na hora de retirar o dano do personagem, você deveria retirar do script "VIDA" nao no player.
Qualquer duvida só perguntar, Scripts corrigidos estão abaixo:
Script Queda:
Script Vida:
Script Player:
Qualquer duvida só perguntar, Scripts corrigidos estão abaixo:
Script Queda:
- Código:
using UnityEngine;
using System.Collections;
public class QUEDA : MonoBehaviour {
private CharacterController controlador;
public Transform Player;
private float UltimaPosicaoEmY,DistanciaDeQueda;
public float DistanciaMaximaDeQueda = 4,DanoPorMetro = 5 ;
void Start (){
controlador = GetComponent<CharacterController>();
}
void Update (){
if (UltimaPosicaoEmY > Player.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Player.transform.position.y;
}
UltimaPosicaoEmY = Player.transform.position.y;
if (DistanciaDeQueda >= DistanciaMaximaDeQueda && controlador.isGrounded) {
VIDA.VidaDoPersonagem = PLAYER.vida - DanoPorMetro*DistanciaDeQueda;
Debug.Log (DanoPorMetro*DistanciaDeQueda);
ZerarVariaveis ();
}
if (DistanciaDeQueda < DistanciaMaximaDeQueda && controlador.isGrounded) {
ZerarVariaveis ();
}
}
void ZerarVariaveis (){
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 0;
}
}
Script Vida:
- Código:
using UnityEngine;
using System.Collections;
public class VIDA : MonoBehaviour {
public static float VidaDoPersonagem;
public Texture Sangue,Contorno;
public int VidaCheia = 100;
void Start (){
VidaDoPersonagem = VidaCheia;
}
void Update (){
if (VidaDoPersonagem >= VidaCheia) {
VidaDoPersonagem = VidaCheia;
} else if (VidaDoPersonagem <= 0) {
VidaDoPersonagem = 0;
}
}
void OnGUI (){
GUI.DrawTexture (new Rect (Screen.width / 25, Screen.height / 15, Screen.width / 5, Screen.height / 25), Contorno);
GUI.DrawTexture (new Rect (Screen.width / 25, Screen.height / 15, Screen.width / 5.5f/VidaCheia*VidaDoPersonagem, Screen.height / 25), Sangue);
}
}
Script Player:
- Código:
using UnityEngine;
using System.Collections;
public class PLAYER : MonoBehaviour {
public static float vida = 0;
void Update (){
vida = VIDA.VidaDoPersonagem;
if (vida <= 0) {
Debug.Log ("morreu");
Destroy (this);
}
}
}
Stipp- Avançado
- PONTOS : 3640
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.
Respeito as regras :
Re: quero que minha barra de hp realmente perda vida
vlw mano ja ajudou mais agora minha textura sangue da sobre saindo a do contorno ela fica maior nem da pra ver a do contorno pode ajudar?
YGORRIEFF- Iniciante
- PONTOS : 3337
REPUTAÇÃO : 0
Tópicos semelhantes
» plugar perda de hp a minha barra de vida
» [Duvida]Como fazer uma barra de vida usando o canvas?obs:so a parte de diminuir a barra
» Erro ao ligar script barra de vida / continua ao personagem
» fazer o player perde vida e sua barra de vida descer conforme o dano
» Quero fazer minha propria lens flare
» [Duvida]Como fazer uma barra de vida usando o canvas?obs:so a parte de diminuir a barra
» Erro ao ligar script barra de vida / continua ao personagem
» fazer o player perde vida e sua barra de vida descer conforme o dano
» Quero fazer minha propria lens flare
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos