[TUTORIAL] Sistema de vida,morte,dano
2 participantes
Página 1 de 1
[TUTORIAL] Sistema de vida,morte,dano
Aqui um tutorial bem simples sobre esse sistema
Script 1 esse script pode servi para o player ou enemy
Script 1 esse script pode servi para o player ou enemy
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement;
[RequireComponent(typeof(AudioSource))]
public class CharacterStats : MonoBehaviour {
[Range(0, 100)] public float health = 100;//vida total
public float healthAtual;//vida atual
public GameObject damageParticle;//particula do sangue
public Animator anim;//Animator
public static bool isDead = false;//variavel da morte
public AudioClip danoSong,morteSong;//audios para dno ou morte
private AudioSource audios;//o AudioSource
void Start () {
healthAtual = health;
audios = GetComponent<AudioSource>();
anim = GetComponent<Animator>();
}
void Update () {
health = Mathf.Clamp (health, 0, 100);
}
public void Damage (int damage) {//Classe para o dano
if(!isDead)
{
healthAtual -= damage;//Aqui tira o dano ao personagem
Instantiate(damageParticle,transform.position,transform.rotation);//intacia a particula
anim.SetTrigger("isHit");//Animaçao de dano
PlaySong(danoSong);//Audio dano
if (healthAtual <= 0) {//
isDead = true;
anim.SetTrigger("isMorte");//Animaçao de morte
Dead ();
}
}
}
void Dead () {
PlaySong(morteSong);//Audio de morte
StartCoroutine (Morrer());
}
IEnumerator Morrer(){
yield return new WaitForSeconds (2);
Destroy (gameObject);
SceneManager.LoadScene ("nome da scene");
}
public void PlaySong (AudioClip clip) //Classe dos audios
{
audios.clip = clip;
audios.Play();
}
}
Última edição por Callyde Jr em Sex Abr 26, 2019 8:09 pm, editado 4 vez(es)
Re: [TUTORIAL] Sistema de vida,morte,dano
vai ajudar bastante gente
niao- Avançado
- PONTOS : 2995
REPUTAÇÃO : 17
Respeito as regras :
Re: [TUTORIAL] Sistema de vida,morte,dano
Usando Raycast
- Código:
RaycastHit pontoDeColisao;
if (Physics.Raycast (transform.position, transform.forward, out pontoDeColisao)) {
if (pontoDeColisao.transform.gameObject.tag == "Enemy") {
pontoDeColisao.transform.gameObject.GetComponent<CharacterStats>().Damage(damage);
Re: [TUTORIAL] Sistema de vida,morte,dano
Criando uma essa funçao ao comtrario para recuperaçao de vida,
Coloque no script do player
Coloque no script do player
- Código:
public void Acremage (int damage) {//Classe para o recuperaçao
if(!isDead)
{
healthAtual += damage;
}
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Medicamento: MonoBehaviour {
public int damage = 2;
void OnTriggerEnter(Collider col){
if(col.gameObject.tag("Player")){
col.gameObject.GetComponent<CharacterStats> ().Acremage (damage);
Destroy (gameObject,5);
}
}
}
Tópicos semelhantes
» [TUTORIAL] Unit Vida Inimigo e script para atacar- mesmo sistema usado em God Of War
» [TUTORIAL] Script pra vida, morte em jogos 2D
» [TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
» [TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
» [TUTORIAL] Script pra vida, morte em jogos 2D
» [TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
» [TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
» [TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos