Duvida Script
3 participantes
Página 1 de 1
Duvida Script
Ola pessoal Como eu Faço esse script ai em baixo ... Se o player cair de mais e chega a VIDA 0 reinicar a SCENA
Como FAZER
- Código:
using UnityEngine;
using System.Collections;
public class JOGADOR : MonoBehaviour {
private CharacterController controlador;
private GameObject Jogador;
private float UltimaPosicaoEmY,DistanciaDeQueda;
public float DistanciaMaximaDeQueda = 4,DanoPorMetro = 5 ;
private float VidaDoPersonagem;
public Texture Sangue,Contorno;
public int VidaCheia = 100;
void Start (){
controlador = GetComponent <CharacterController> ();
VidaDoPersonagem = VidaCheia;
Jogador = GameObject.FindWithTag ("Player");
}
void Update (){
if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
}
UltimaPosicaoEmY = Jogador.transform.position.y;
if (DistanciaDeQueda >= DistanciaMaximaDeQueda && controlador.isGrounded) {
VidaDoPersonagem = VidaDoPersonagem - DanoPorMetro*DistanciaDeQueda;
ZerarVariaveis ();
}
if (DistanciaDeQueda < DistanciaMaximaDeQueda && controlador.isGrounded) {
ZerarVariaveis ();
}
//
if (VidaDoPersonagem >= VidaCheia) {
VidaDoPersonagem = VidaCheia;
} else if (VidaDoPersonagem <= 0) {
VidaDoPersonagem = 0;
Morreu ();
}
}
void ZerarVariaveis (){
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 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 / 8), Contorno);
}
void Morreu (){
//coloque comandos para a morte aqui
}
}
Como FAZER
Lukynhasfera70- Iniciante
- PONTOS : 2832
REPUTAÇÃO : 3
Respeito as regras :
Re: Duvida Script
[list=linenums]
[*]void Morreu (){
[*] SceneManager.LoadScene ("cena");
[*] }
[/list]
Lembrando que deve colocar a biblioteca:
using UnityEngine.SceneManagement;
[*]void Morreu (){
[*] SceneManager.LoadScene ("cena");
[*] }
[/list]
Lembrando que deve colocar a biblioteca:
using UnityEngine.SceneManagement;
kalielson- ProgramadorMaster
- PONTOS : 3573
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Duvida Script
oque eh essa biblioteca so iniciante nao manjo como coloco la
Lukynhasfera70- Iniciante
- PONTOS : 2832
REPUTAÇÃO : 3
Respeito as regras :
Re: Duvida Script
- Código:
using UnityEngine;
using System.Collections;
public class JOGADOR : MonoBehaviour {
private CharacterController controlador;
private GameObject Jogador;
private float UltimaPosicaoEmY,DistanciaDeQueda;
public float DistanciaMaximaDeQueda = 4,DanoPorMetro = 5 ;
private float VidaDoPersonagem;
public Texture Sangue,Contorno;
public int VidaCheia = 100;
void Start (){
controlador = GetComponent <CharacterController> ();
VidaDoPersonagem = VidaCheia;
Jogador = GameObject.FindWithTag ("Player");
}
void Update (){
if (UltimaPosicaoEmY > Jogador.transform.position.y && controlador.velocity.y < 0) {
DistanciaDeQueda += UltimaPosicaoEmY-Jogador.transform.position.y;
}
UltimaPosicaoEmY = Jogador.transform.position.y;
if (DistanciaDeQueda >= DistanciaMaximaDeQueda && controlador.isGrounded) {
VidaDoPersonagem = VidaDoPersonagem - DanoPorMetro*DistanciaDeQueda;
ZerarVariaveis ();
}
if (DistanciaDeQueda < DistanciaMaximaDeQueda && controlador.isGrounded) {
ZerarVariaveis ();
}
//
if (VidaDoPersonagem >= VidaCheia) {
VidaDoPersonagem = VidaCheia;
} else if (VidaDoPersonagem <= 0) {
VidaDoPersonagem = 0;
Morreu ();
}
}
void ZerarVariaveis (){
DistanciaDeQueda = 0;
UltimaPosicaoEmY = 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 / 8), Contorno);
}
void Morreu (){
Application.LoadLevel("NOME DA CENA QUE DESEJA CARREGAR");
}
}
Tenta ai. não esquece de colocar o nome da cena que deseja carregar ali na linha 49 ! Abraços..
Re: Duvida Script
Lukynhasfera70 escreveu:oque eh essa biblioteca so iniciante nao manjo como coloco la
Bibliotecas são classes que acessão funções já prontas de um sistema por exemplo, se você observar no inicio do código tem "using UnityEngine;" esta linha esta dizendo que você usará a biblioteca da unity, sem essa linha você não conseguiria usar este comando no código por exemplo Jogador = GameObject.FindWithTag ("Player"); Pois bem ! para chamar uma nova cena na unity você deve colocar nas primeiras linha que usara a blibioteca "using UnityEngine.SceneManagement;" para poder usar o
void Morreu (){
SceneManager.LoadScene ("cena");
}
Este método "Application.LoadLevel();" esta obsoleto, acho ate que na versão mais recente da unity não é possível mais usa-la.
Espero ter ajudado.
kalielson- ProgramadorMaster
- PONTOS : 3573
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Tópicos semelhantes
» DUVIDA EM SCRIPT
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» DÚVIDA COM SCRIPT
» Duvida com script !
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» DÚVIDA COM SCRIPT
» Duvida com script !
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos