Vida
4 participantes
Página 1 de 1
Vida
Olá, eu tenho um script de vida cujo qual eu peguei aqui mesmo porem não consigo fazer com que o mesmo seja afetado pelo inimigo do jogo, quando eu tento fazer isso ele diz que há erros em algumas chaves ({), pontos e virgulas, fico grato se alguem souber me ajudar
- Código:
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 / 8), Contorno);
}
}
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Boa noite! quais seriam os erros? você pode postar o seu script ou explicar como esta tentando fazer o seu inimigo afetar a vida do player. Está muito vaga a sua dúvida, com mais informações e detalhes será mais fácil para conseguirmos te ajudar.
Abraço!
Abraço!
Re: Vida
Então, eu tenho usar o OnTriggerCollider2D como já usei antes em outro script mas qualquer coisa que eu mude nesse script acima ele da um erro em alguma chave, vírgula ou ponto, não posso postar o erro agora pois estou no celulardstaroski escreveu:Boa noite! quais seriam os erros? você pode postar o seu script ou explicar como esta tentando fazer o seu inimigo afetar a vida do player. Está muito vaga a sua dúvida, com mais informações e detalhes será mais fácil para conseguirmos te ajudar.
Abraço!
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Esse é o script que estou tentando usar (Ali está destruindo o objeto mas no final quero que a vida dele apenas desça aos poucos até no fim ele ser destruido)
O Erro é esse: Assets/VIDA.cs(22,0): error CS1525: Unexpected symbol `void'
- Código:
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 / 8), Contorno);
}
}
void OnCollisionEnter2D(Collision2D.col){
if (col.gameObject.tag == "Alien") {
Destroy (gameObject);
}
O Erro é esse: Assets/VIDA.cs(22,0): error CS1525: Unexpected symbol `void'
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Eu posso estar errado, mas não seria na linha 22 ? Ali no:maxwarnava escreveu:Esse é o script que estou tentando usar (Ali está destruindo o objeto mas no final quero que a vida dele apenas desça aos poucos até no fim ele ser destruido)
- Código:
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 / 8), Contorno);
}
}
void OnCollisionEnter2D(Collision2D.col){
if (col.gameObject.tag == "Alien") {
Destroy (gameObject);
}
O Erro é esse: Assets/VIDA.cs(22,0): error CS1525: Unexpected symbol `void'
void OnCollisionEnter2D(Collision2D.col)
o certo não seria? :
void OnCollisionEnter2D(Collision2D col) ? sem o " . " ?
iours- Iniciante
- PONTOS : 2415
REPUTAÇÃO : 6
Respeito as regras :
Re: Vida
iours escreveu:Eu posso estar errado, mas não seria na linha 22 ? Ali no:maxwarnava escreveu:Esse é o script que estou tentando usar (Ali está destruindo o objeto mas no final quero que a vida dele apenas desça aos poucos até no fim ele ser destruido)
- Código:
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 / 8), Contorno);
}
}
void OnCollisionEnter2D(Collision2D.col){
if (col.gameObject.tag == "Alien") {
Destroy (gameObject);
}
O Erro é esse: Assets/VIDA.cs(22,0): error CS1525: Unexpected symbol `void'
void OnCollisionEnter2D(Collision2D.col)
o certo não seria? :
void OnCollisionEnter2D(Collision2D col) ? sem o " . " ?
a vida também.
public float VidaDoPersonagem; // não teria que ser int ?
public int VidaCheia = 100;
VidaDoPersonagem = VidaCheia;
iours- Iniciante
- PONTOS : 2415
REPUTAÇÃO : 6
Respeito as regras :
Re: Vida
O ponto já tirei, no momento está assim:
Agora não está dando erro mas ainda sim não faz nada kkk.
Sobre o "int" eu apenas peguei esse script aqui do forum msm, na realidade sou bem leigo nisso, comecei faz poucos meses então suponho que está certo
- Código:
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 / 8), Contorno);
}
void OnTriggerEnter2D(Collider2D col){
if (col.gameObject.tag == "Alien"){
Destroy (gameObject);
}
}}
Agora não está dando erro mas ainda sim não faz nada kkk.
Sobre o "int" eu apenas peguei esse script aqui do forum msm, na realidade sou bem leigo nisso, comecei faz poucos meses então suponho que está certo
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Percebi que não estavam na mesma camada
Agora colidem mas o player ainda não toma o dano que eu quero que tome, preciso de um script para afetar diretamente a barra de vida ao ser tocado, se alguém puder me ajudar serei imensamente grato
Agora colidem mas o player ainda não toma o dano que eu quero que tome, preciso de um script para afetar diretamente a barra de vida ao ser tocado, se alguém puder me ajudar serei imensamente grato
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Fuçando aqui acabei conseguindo, porem ainda procuro saber como tirar mais que 1 a cada toque que o inimigo me der.
- Código:
void OnTriggerEnter2D(Collider2D col){
if (col.gameObject.tag == "Alien"){
VidaDoPersonagem--;
maxwarnava- Membro
- PONTOS : 1819
REPUTAÇÃO : 3
Respeito as regras :
Re: Vida
Cara, inves de
[list=linenums]
[*]void OnTriggerEnter2D(Collider2D col){
[*] if (col.gameObject.tag == "Alien"){
[*] VidaDoPersonagem--;
[/list]
cria uma variável float chamada dano e coloca
[list=linenums]
[*]void OnTriggerEnter2D(Collider2D col){
[*] if (col.gameObject.tag == "Alien"){
[*] VidaDoPersonagem -= Dano;
[/list]
[list=linenums]
[*]void OnTriggerEnter2D(Collider2D col){
[*] if (col.gameObject.tag == "Alien"){
[*] VidaDoPersonagem--;
[/list]
cria uma variável float chamada dano e coloca
[list=linenums]
[*]void OnTriggerEnter2D(Collider2D col){
[*] if (col.gameObject.tag == "Alien"){
[*] VidaDoPersonagem -= Dano;
[/list]
alefe c oliveira- Membro
- PONTOS : 1782
REPUTAÇÃO : 8
Respeito as regras :
Re: Vida
- Código:
void OnTriggerEnter2D(Collider2D col){[size=14][/size][size=14][/size] if (col.gameObject.tag == "Alien"){[size=14][/size][size=14][/size] VidaDoPersonagem -= Dano;
alefe c oliveira- Membro
- PONTOS : 1782
REPUTAÇÃO : 8
Respeito as regras :
Re: Vida
ai dentro dessa variável você coloca 10 por exemplo, ai cada vez que tocar ele perde 10 de vida.
alefe c oliveira- Membro
- PONTOS : 1782
REPUTAÇÃO : 8
Respeito as regras :
Tópicos semelhantes
» fazer o player perde vida e sua barra de vida descer conforme o dano
» (Dúvida) Modelagem 3D sem vida
» Erro ao ligar script barra de vida / continua ao personagem
» Duvida com Script VIDA
» (ajuda) Vida na tela
» (Dúvida) Modelagem 3D sem vida
» Erro ao ligar script barra de vida / continua ao personagem
» Duvida com Script VIDA
» (ajuda) Vida na tela
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos