Salvar Score e Substituir caso faça Mais!
3 participantes
Página 1 de 1
Salvar Score e Substituir caso faça Mais!
Ola pessoal eu tenho um sistema de score aqui que ele aumenta de acordo com a quantidade de inimigos que voce matar, ih eu queria saber como faço para ele salvar o score feito (no caso ficaria na tela principal do jogo no Menu) e se fizer mais ele substitua.
SCRIPT DO INIMIGO:
SCRIPT DO INIMIGO:
- Código:
using UnityEngine;[size=14][/size]using CompleteProject;[size=14][/size]using UnityEngine.UI;[size=14][/size]using System.Collections;[size=14][/size][size=14][/size]public class EnemyHealth : MonoBehaviour[size=14][/size]{[size=14][/size] public int startingHealth = 100;[size=14][/size] public int currentHealth;[size=14][/size] public float sinkSpeed = 2.5f;[size=14][/size] public int scoreValue = 10;[size=14][/size] public AudioClip deathClip;[size=14][/size] Animator anim;[size=14][/size] AudioSource enemyAudio;[size=14][/size] ParticleSystem hitParticles;[size=14][/size] CapsuleCollider capsuleCollider;[size=14][/size] bool isDead;[size=14][/size] bool isSinking;[size=14][/size][size=14][/size] ScoreManager sm;[size=14][/size][size=14][/size] public GameObject ScoreGameObject;//Coloca o GameObject onde o ScoreManager esta ||||| SETA ISSOOOOOOOOO[size=14][/size] public GameObject Inimigo; //Inimigo ||||||||||||||||| ISSO TBM[size=14][/size][size=14][/size] public float DelayDeath;//Daley para a destroy do inimigo [size=14][/size] float Ctime;[size=14][/size][size=14][/size] void Start ()[size=14][/size] {[size=14][/size] StartCoroutine ("Timer");[size=14][/size] if (ScoreGameObject == null) {[size=14][/size] ScoreGameObject = GameObject.FindWithTag ("ScoreGameObject");[size=14][/size] }[size=14][/size] }[size=14][/size][size=14][/size] void Awake ()[size=14][/size] {[size=14][/size] anim = GetComponent <Animator> ();[size=14][/size] enemyAudio = GetComponent <AudioSource> ();[size=14][/size] hitParticles = GetComponentInChildren <ParticleSystem> ();[size=14][/size] capsuleCollider = GetComponent <CapsuleCollider> ();[size=14][/size] currentHealth = startingHealth;[size=14][/size] }[size=14][/size][size=14][/size][size=14][/size] void Update ()[size=14][/size] {[size=14][/size] if(isSinking)[size=14][/size] {[size=14][/size] transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);[size=14][/size] }[size=14][/size] }[size=14][/size][size=14][/size][size=14][/size] public void TakeDamage (int amount, Vector3 hitPoint)[size=14][/size] {[size=14][/size] if(isDead)[size=14][/size] return;[size=14][/size][size=14][/size] enemyAudio.Play ();[size=14][/size][size=14][/size] currentHealth -= amount;[size=14][/size][size=14][/size] hitParticles.transform.position = hitPoint;[size=14][/size] hitParticles.Play();[size=14][/size][size=14][/size] if(currentHealth <= 0)[size=14][/size] {[size=14][/size] Destroir ();[size=14][/size] Death ();[size=14][/size] }[size=14][/size] }[size=14][/size][size=14][/size][size=14][/size] void Death ()[size=14][/size] {[size=14][/size] //print("Death ok");[size=14][/size] currentHealth = 0;// setamos a vida pra 0 pra nao ficar negativa[size=14][/size] isDead = true;[size=14][/size][size=14][/size] anim.SetTrigger ("Dead");[size=14][/size][size=14][/size] enemyAudio.clip = deathClip;[size=14][/size] enemyAudio.Play ();[size=14][/size][size=14][/size] // executamos o metodo StartSinking que não estava sendo usado[size=14][/size] StartSinking();[size=14][/size] }[size=14][/size][size=14][/size][size=14][/size] public void StartSinking ()[size=14][/size] {[size=14][/size] GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;[size=14][/size] GetComponent <Rigidbody> ().isKinematic = true;[size=14][/size] isSinking = true;[size=14][/size][size=14][/size] sm.score += scoreValue;[size=14][/size][size=14][/size] }[size=14][/size][size=14][/size] IEnumerator Timer () {[size=14][/size] yield return new WaitForSeconds (0.1f);[size=14][/size] sm = ScoreGameObject.GetComponent<ScoreManager> ();[size=14][/size] }[size=14][/size][size=14][/size] public void Destroir () {[size=14][/size] Ctime += 1 * Time.deltaTime;[size=14][/size] if (Ctime >= DelayDeath) { [size=14][/size] Destroy (Inimigo, 3);[size=14][/size] }[size=14][/size] }[size=14][/size]}
Re: Salvar Score e Substituir caso faça Mais!
Da uma olhada sobre playerPrefs, e bem simples e rapidex de aprender.
Re: Salvar Score e Substituir caso faça Mais!
coloca o código de maneira correta... do jeito que você copiou direto da internet ficou cheio de tags html
Tópicos semelhantes
» [TUTORIAL] Salvar SCORE de um jogo e substituir caso faça mais.
» Substituir o Visual Studio
» (DUVIDA) Não consigo salvar o score atual, somente o melhor.
» Não tá dando mais Bake. O que pode ser?Não aparece mais as áreas em azul em
» saindo do jogo caso um programa não estiver aberto
» Substituir o Visual Studio
» (DUVIDA) Não consigo salvar o score atual, somente o melhor.
» Não tá dando mais Bake. O que pode ser?Não aparece mais as áreas em azul em
» saindo do jogo caso um programa não estiver aberto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos