0
votes

Continuez à obtenir un "identifiant attendu" et "; attendu" des messages d'erreur

J'essaie de créer un système de score élevé pour mon jeu dans l'unité et je ne suis pas vraiment sûr de la façon de faire cela, mais j'ai essayé ce code néanmoins et je continue à recevoir des messages d'erreur.

J'ai essayé de rechercher ces erreurs, mais je suis assez nouveau à l'unité et à coder en général, aucune des solutions n'a de sens pour moi. P>

public Transform player;
public Text scoreText;
public Text highScore;

// Update is called once per frame
void Update()
{
    scoreText.text = player.position.z.ToString("0");
    scoreText = scoreText.int.Parse;

    if (scoreText > PlayerPrefs.GetInt("High Score", 0)) ;
    {
        PlayerPrefs.SetInt("High Score", scoreText);
        highScore.text = scoreText.ToString;
    }


2 commentaires

Comment ce scoretext = scoretext.int.parse; fonctionne?


Désolé, je ne sais pas que je l'ai eu hors empilifier.com/convert-cshaparp-string-int " a>


3 Réponses :


0
votes

Retirez le point-virgule après la condition IF.

Code: H2>
void Update()
{
scoreText.text = player.position.z.ToString("0");
// scoreText = scoreText.int.Parse;

if (scoreText > PlayerPrefs.GetInt("High Score", 0)) 
{
    PlayerPrefs.SetInt("High Score", scoreText);
    highScore.text = scoreText.ToString();
}


3 commentaires

Pourquoi avez-vous cette ligne? scoretext = scoretext.int.parse;


Ça me donne cette erreur, c'est que je n'ai pas d'actifs \ \ score.cs (20,40): Erreur CS0428: impossible de convertir le groupe de méthodes 'ToString' sur le type de type «String». Avez-vous l'intention d'invoquer la méthode?


Tostring est une méthode pendant que vous essayez de l'utiliser comme une propriété. highscore.text = scoretext.tostring ();



1
votes

Ce que vous avez actuellement ne fonctionnera pas. Ce serait bien si vous pouviez apprendre la syntaxe de base de C # pour éviter éventuellement éviter des problèmes tels que celui-ci.

texte est une classe et scoretext dans ce cas est une instance de Le texte classe. Vous ne pouvez pas simplement faire cela: xxx

sauf si bien sûr, scoretext.int.parse (ne fonctionne pas si) renvoie un Texte .

Je pense que ce que vous essayez de faire est d'obtenir la position du joueur et de convertir en Int, vous pouvez donc enregistrer la valeur à l'aide de Playerprefs .

Vous pouvez simplement créer une variable int. xxx

puis utiliser comme ceci: xxx

Vous pouvez enregistrer à l'aide de playerprefs . xxx

J'espère que cela aide.

Il y a aussi une erreur sur cette ligne: xxx

devrait être: xxx

car tostring () est une méthode.


0 commentaires

0
votes

Essayez ce code:

public Transform player;
public Text scoreText;
public Text highScore;

// Update is called once per frame
void Update()
{
    scoreText.text = player.position.z.ToString("0");
    int scoreTextNumber = int.Parse(scoreText.text);

    if (scoreText > PlayerPrefs.GetInt("High Score", 0)) 
    {
        PlayerPrefs.SetInt("High Score", scoreTextNumber);
        highScore.text = scoreTextNumber.ToString("0");
    }


0 commentaires