私はサバイバルシューティングゲームを作っています。私はそれを作ろうとしています。敵を殺すとポイントに追加されます。スコアはハイスコアに追加され、プレイごとに保存されます。私はスコアを追加するためのスクリプトを持っているが、私は高いスコアを正しくしているとは思わない。誰かが私にこれを助けてくれますか?ユニティ - ハイスコアを作成するにはどうすればいいですか?
敵が死亡したときに追加する敵のヘルススクリプトです。 敵シンク機能に入っています。
public class EnemyHealth : MonoBehaviour
{
public int startingHealth = 100;
public int currentHealth;
public float sinkSpeed = 2.5f;
public int scoreValue = 10;
public AudioClip deathClip;
Animator anim;
AudioSource enemyAudio;
ParticleSystem hitParticles;
CapsuleCollider capsuleCollider;
bool isDead;
bool isSinking;
void Awake()
{
anim = GetComponent <Animator>();
enemyAudio = GetComponent <AudioSource>();
hitParticles = GetComponentInChildren <ParticleSystem>();
capsuleCollider = GetComponent <CapsuleCollider>();
currentHealth = startingHealth;
}
void Update()
{
if(isSinking)
{
transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);
}
}
public void TakeDamage (int amount, Vector3 hitPoint)
{
if(isDead)
return;
enemyAudio.Play();
currentHealth -= amount;
hitParticles.transform.position = hitPoint;
hitParticles.Play();
if(currentHealth <= 0)
{
Death();
}
}
void Death()
{
isDead = true;
capsuleCollider.isTrigger = true;
anim.SetTrigger ("Dead");
enemyAudio.clip = deathClip;
enemyAudio.Play();
}
public void StartSinking()
{
GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false;
GetComponent <Rigidbody>().isKinematic = true;
isSinking = true;
ScoreManager.score += scoreValue;
Destroy (gameObject, 2f);
}
}
しかし、私は二つの問題直面しています:私はゲームを再起動すると、私は敵を殺すときに、ハイスコアのテキストは、スコアテキスト
- を
W
次のようなものは、あなたが必要なものでなければなりませんあなたはそれを正しくやっていないと思いますか?このコードの問題は何ですか?あなたはより具体的で、コードをデバッグする際に気づいたことを示す必要があります – UnholySheep
あなたの質問は何ですか?何が問題ですか?スコアを追加するコードはどこですか? – FCin
ハイスコアを保存する方法がわかりません。私はスコアを追加するためのスクリプトを追加しました。 –