プレイヤーが死亡した場合、スコアが継続されリセットされない場合、スコアは前のセッションから継続されます。あなたが変更する必要がスコアはリセットされません
using UnityEngine;
using UnityEngine.SceneManagement;
public class Player : MonoBehaviour {
public float jumpForce = 10f;
public Rigidbody2D rb;
public SpriteRenderer sr;
public string currentColor;
public Color colorCyan;
public Color colorYellow;
public Color colorMagenta;
public Color colorPink;
void Start()
{
SetRandomColor();
}
// Update is called once per frame
void Update() {
if (Input.GetButtonDown("Jump") || Input.GetMouseButtonDown(0))
{
rb.velocity = Vector2.up * jumpForce;
}
}
void OnTriggerEnter2D (Collider2D col)
{
if (col.tag == "ColorChanger")
{
ScoreScript.scoreValue += 1;
SetRandomColor();
Destroy(col.gameObject);
return;
}
if (col.tag != currentColor)
{
Debug.Log("GAME OVER!");
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
void SetRandomColor()
{
int index = Random.Range(0, 4);
switch (index)
{
case 0:
currentColor = "Cyan";
sr.color = colorCyan;
break;
case 1:
currentColor = "Yellow";
sr.color = colorYellow;
break;
case 2:
currentColor = "Magenta";
sr.color = colorMagenta;
break;
case 3:
currentColor = "Pink";
sr.color = colorPink;
break;
}
}
}
「scoreValue」を非静的にしてみましたか? – UnholySheep
私はそれを非静的にする方法はどうでしょうか?チュートリアルを見つけることができません:S – ROOT
@ROOT:[この質問を参照](https://stackoverflow.com/questions/25930919/accessing-a-variable-from-another-script-c-sharp) – Draco18s