-1
votes

Unity: le nom de type ou de noms de noms 'Fonction' n'a pas pu être trouvé

Je fais un jeu d'unité 3D et je souhaite mettre en œuvre une minuterie. Le problème est que je reçois l'erreur suivante dans la science:

ne peut pas convertir implicitement le type 'float' en 'int'. Explicite La conversion existe (manquez-vous un casting?) p> blockquote>

Comment résoudre le problème? p>

Le script Timer.cs: strong> p>

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Timer : MonoBehaviour
{
    Text instruction;
    // Start is called before the first frame update
    void Start()
    {
        instruction = GetComponent<Text>();

    }

    // Update is called once per frame
    int timeLeft = 30;

    void Update()
    {
        timeLeft -= Time.deltaTime;
        instruction.text= (timeLeft).ToString();
        if (timeLeft < 0)
        {
         //   GameOver();
        }
    }
}


2 commentaires

Où obtenez-vous cette erreur?


Vous devriez probablement demander à Google ce que cette erreur signifie d'abord.


3 Réponses :


0
votes

TIME.DELTATIME est un flotteur et vous essayez d'attribuer un flotteur à un entier dans timeleft-= time.delatime Changer Timeleft à float .


0 commentaires

0
votes

temps.delatima code> est un flotteur.

Changer Timeleft code> pour flotter. P>

float timeLeft=30f;


0 commentaires

1
votes

ici: xxx

time.delatime est un float et timeleft est int , vous devez convertir le flotteur vers INT avant de faire le reste. xxx

C'est ce que signifie l'erreur par

Une conversion explicite existe (manquez-vous un casting?)

oui!


0 commentaires