[RESOLVIDO] Como faço para colocar um limite em numeros no script?
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como faço para colocar um limite em numeros no script?
Meu script do HUD:
Parte da morte:
Parte da fome:
bom,o meu personagem pode sofrer danos de fome,a fome vai diminuindo infinitamente e quando chega a 0,a vida começa abaixar devagar,e quando a vida chega abaixo de 0 o personagem morre,mais a vida e fome continua diminuindo infinitamente,eu queria colocar um limite neles tipo,a fome so pode chegar ate -50 e vida so pode chegar a -1....entende?
como poço colocar um limite?
porque quando morre,o som de morte toca e fica repetindo infinitamente por causa disso dai (e o loop do audiosource esta desativado)
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Coletaveis : MonoBehaviour {
private Animator ControlAgachar;
public Text kataras;
public Text comida;
public Text TextoVida;
public float Vida = 100,Fome = 100;
private int Kataras = 0;
private int Comida = 0;
private string saude = "Cheia";
public AudioSource SomDeMorte;
//ooooooo
public GameObject raposaNormalCollider;
public GameObject raposaAbaixadoCollider;
public GameObject raposaMortaCollider;
public AudioSource ComerMaca;
public AudioSource ComerUva;
public AudioSource ComerCarnePodre;
void Start(){
StartCoroutine("Contador");
ControlAgachar = GetComponent<Animator> ();
}
void Update (){
kataras.text = "Kataras: " + Kataras;
comida.text = "Comida: " + Comida;
if (Fome <= 0) {
Vida -= 0.1f;
}
if (Vida >= 100 ) {
TextoVida.text = "Cheia";
if (Vida == 51) {
}
}
if (Vida <= 50) {
TextoVida.text = "Estavel";
if (Vida == 31) {
}
}
if (Vida <= 30) {
TextoVida.text = "Sensivel";
if (Vida <= 0) {
TextoVida.text = "Morto";
}
}
//Extras
if (Input.GetKey (KeyCode.LeftShift) && Input.GetKey (KeyCode.D)) {
Fome -= 0.2f;
}
if (Input.GetKey (KeyCode.LeftShift) && Input.GetKey (KeyCode.A)) {
Fome -= 0.2f;
}
if (Input.GetKey (KeyCode.LeftShift) && Input.GetKey (KeyCode.W)) {
Fome -= 0.2f;
}
if (Input.GetKey (KeyCode.LeftShift) && Input.GetKey (KeyCode.S)) {
Fome -= 0.2f;
}
//Extras 2
if (TextoVida.text == "Morto") {
raposaMortaCollider.SetActive (true);
raposaAbaixadoCollider.SetActive (false);
raposaNormalCollider.SetActive (false);
transform.Translate (0.0f, -1, 0.0f);
ControlAgachar.SetInteger ("Condição", 27);
SomDeMorte.Play ();
}
}
void OnTriggerEnter (Collider other){
if (other.tag == "Maça") {
other.gameObject.SetActive (false);
ComerMaca.Play ();
Kataras = Kataras + 4;
kataras.text = "Pontos: " + Kataras;
Comida = Comida + 1;
comida.text = "Comida: " + Comida;
Fome = Fome + 6;
}
if (other.tag == "Uva") {
other.gameObject.SetActive (false);
ComerUva.Play ();
Kataras = Kataras + 3;
kataras.text = "Pontos: " + Kataras;
Comida = Comida + 1;
comida.text = "Comida: " + Comida;
Fome = Fome + 3;
}
if (other.tag == "CarnePodre") {
other.gameObject.SetActive (false);
ComerCarnePodre.Play ();
Kataras = Kataras - 4;
kataras.text = "Pontos: " + Kataras;
Comida = Comida + 1;
comida.text = "Comida: " + Comida;
Fome = Fome + 1;
}
}
IEnumerator Contador () {
yield return new WaitForSecondsRealtime (4);
Fome -= 7;
yield return new WaitForSecondsRealtime (4);
StartCoroutine ("Contador");
}
}
Parte da morte:
- Código:
//Extras 2
if (TextoVida.text == "Morto") {
raposaMortaCollider.SetActive (true);
raposaAbaixadoCollider.SetActive (false);
raposaNormalCollider.SetActive (false);
transform.Translate (0.0f, -1, 0.0f);
ControlAgachar.SetInteger ("Condição", 27);
SomDeMorte.Play ();
}
}
Parte da fome:
- Código:
if (Fome <= 0) {
Vida -= 0.1f;
}
bom,o meu personagem pode sofrer danos de fome,a fome vai diminuindo infinitamente e quando chega a 0,a vida começa abaixar devagar,e quando a vida chega abaixo de 0 o personagem morre,mais a vida e fome continua diminuindo infinitamente,eu queria colocar um limite neles tipo,a fome so pode chegar ate -50 e vida so pode chegar a -1....entende?
como poço colocar um limite?
porque quando morre,o som de morte toca e fica repetindo infinitamente por causa disso dai (e o loop do audiosource esta desativado)
Última edição por MarcosSchultz em Ter Jun 13, 2017 3:54 pm, editado 2 vez(es) (Motivo da edição : Resolvido)
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Simples amigo basta colocar
if(vida<=0)
{
vida =0;
}
if(vida<=0)
{
vida =0;
}
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
O limite funcionou,mas o som continua repetindo infinitamente,tipo toca 1 segundo e depois repete e repete...
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Coloca assim para tocar uma unica vez Playoneshot ();
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Deu este erro:
Assets/Scripts/Coletaveis.cs(86,15): error CS1501: No overload for method `PlayOneShot' takes `0' arguments
coloquei assim:
Assets/Scripts/Coletaveis.cs(86,15): error CS1501: No overload for method `PlayOneShot' takes `0' arguments
coloquei assim:
- Código:
if (TextoVida.text == "Morto") {
raposaMortaCollider.SetActive (true);
raposaAbaixadoCollider.SetActive (false);
raposaNormalCollider.SetActive (false);
transform.Translate (0.0f, -1, 0.0f);
ControlAgachar.SetInteger ("Condição", 27);
SomDeMorte.PlayOneShot ();
}
}
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Assim Amigo
GetComponent<AudioSource>().PlayOneShot(SomDeMorte);
GetComponent<AudioSource>().PlayOneShot(SomDeMorte);
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
o playoneshot esta em vermelho :/
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
GetComponent<AudioSource>().PlayOneShot(SomDeMorte);
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Ainda continua em vermelho....mas,e seu eu criar uma variavel:
colocar no void start:
e trocar o GetComponent() por audiosorce?
eu fiz isso,mas o playoneshot continua vermelho
- Código:
private AudioSource audiosorce;
colocar no void start:
- Código:
audiosorce = GetComponent<AudioSource>();
e trocar o GetComponent() por audiosorce?
eu fiz isso,mas o playoneshot continua vermelho
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
tira o audio source da frente e o sinal de igual na frente do parentes coloca . playoneshot(SomDeMorte);
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Nao to conseguindo inserir script senao seria mais facil explicar
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
tipo assim?
audiosorce GetComponent.PlayOneShot(SomdeMorte);
audiosorce GetComponent.PlayOneShot(SomdeMorte);
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
<AudioSource>
depois do getcomponent
depois do getcomponent
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Fica assim:
FLW!
- Código:
GetComponent<AudioSource>().PlayOneShot(nomedoclipedeaudio);
FLW!
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
dstaroski
TA COM O MESMO PROBLEMA QUE EU NÃO TA INDO O SCRIPT COMPLET
TA COM O MESMO PROBLEMA QUE EU NÃO TA INDO O SCRIPT COMPLET
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
nÃO TO CONSEGUINDO ENVIAR SCRIPT
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Atualiza seu navegador cara, ou deslogue e logue novamente.
:D
:D
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Esta dando este erro:
- Código:
Assets/Scripts/Coletaveis.cs(86,32): error CS1502: The best overloaded method match for `UnityEngine.AudioSource.Play(ulong)' has some invalid arguments
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
espera mandei errado:
é esse
Assets/Scripts/Coletaveis.cs(86,44): error CS1503: Argument `#1' cannot convert `UnityEngine.AudioSource' expression to type `UnityEngine.AudioClip'
é esse
Assets/Scripts/Coletaveis.cs(86,44): error CS1503: Argument `#1' cannot convert `UnityEngine.AudioSource' expression to type `UnityEngine.AudioClip'
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Cara, para tocar uma única vez o som, eu faço dessa forma:
Vlw!
- Código:
public AudioClip Som;
e dentro de um if:
GetComponent<AudioSource>().PlayOneShot(Som);
Vlw!
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
fiz isso e continua repetindo a cada 1 segundo...:/
tem que fazer isso daqui?
tem que fazer isso daqui?
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
cara, se tem "quinhentos" AudioSource, fica só com um brow!
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
KKKKKKKKKK
VDD MUITOS AUDIOS SOURCES DA UM PROBLEMÃO
VDD MUITOS AUDIOS SOURCES DA UM PROBLEMÃO
Zecandy- Mestre
- PONTOS : 3505
REPUTAÇÃO : 155
Idade : 42
Respeito as regras :
Re: [RESOLVIDO] Como faço para colocar um limite em numeros no script?
Ja consegui resolver o problema do audio :D e vou ver esses audiosources kkkkkk
Tópicos semelhantes
» [RESOLVIDO] Como faço para colocar modo de 'Criação de Personagem'?
» Script do marcos (Como colocar um limite de Spawn)
» Como faço para Linkar GameObject Via Script
» Como faço para colocar toque na tela (jogo 2D)
» [RESOLVIDO] como eu adiciono um limite para a Posição Y?
» Script do marcos (Como colocar um limite de Spawn)
» Como faço para Linkar GameObject Via Script
» Como faço para colocar toque na tela (jogo 2D)
» [RESOLVIDO] como eu adiciono um limite para a Posição Y?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos