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(); } } }
3 Réponses :
TIME.DELTATIME CODE> est un flotteur et vous essayez d'attribuer un flotteur à un entier dans timeleft-= time.delatime code> Changer Timeleft code> à float code>. p>
Changer temps.delatima code> est un flotteur. Timeleft code> pour flotter. P> float timeLeft=30f;
ici: C'est ce que signifie l'erreur par p> Une conversion explicite existe (manquez-vous un casting?) p>
blockquote> oui! p> p> time.delatime code> est un float code> et timeleft code> est int code>, vous devez convertir le flotteur vers INT avant de faire le reste. p>
Où obtenez-vous cette erreur?
Vous devriez probablement demander à Google ce que cette erreur signifie d'abord.