Creare Videogiochi - Game Developer
Problema con variabile - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: Problema con variabile (/thread-Problema-con-variabile)



Problema con variabile - davidecreatoreapp - 12-06-2015

Ciao, giusto oggi stavo continuando un mio progetto su unity quando ad un certo punto mi imbatto in un problema : creare il punteggio(e l'highscore), qui tutto bene fino a quando non l'ho avviato per testarne il funzionamento.

Ed ecco il problema...

Molto brevemente ho una variabile che è il punteggio fatto ma quando la vado a mettere su una UI.Text me la mette in un "formato differente".
Per farvi un esempio se il punteggio è 98.3 metterà 9 se è 182.5 metterà 1
Nonostante abbia provato in vari modi non sono riuscito a risolvere, potete aiutarmi?


RE: Problema con variabile - zDani98 - 12-06-2015

Potresti postare lo script ? almeno controllo se c'é qualche errore


RE: Problema con variabile - Master Gabriel - 12-06-2015

Ma non sei più' comodo con un GUIText?


RE: Problema con variabile - davidecreatoreapp - 12-06-2015

Non cambia molto, comunque in questo caso ho usato tutte UI

(12-06-2015, 03:59 PM)zDani98 Ha scritto: Potresti postare lo script ? almeno controllo se c'é qualche errore

Script "timer.js"
var intervallo : float = 0.01;
static var tempo = 0.0;
var temposcritto : UI.Text;

function Start()
{
tempo = 0.0;
InvokeRepeating("Timer", 0, intervallo);
}

function Timer()
{
tempo=tempo+0.1;
temposcritto.text = tempo.ToString("0.0");
}

function Update()
{
if(Gravita.Fine == 1 || Movimento.CollisioneDetector == 1)
{
GameOver();
}
}

function GameOver()
{
Score.CurrentTime = tempo;
CancelInvoke ();
Application.LoadLevel("GameOver");
}



Script "Score.js"
static var CurrentTime: float;
static var HighScore : float;
var TempoImpiegato : UI.Text;
var Record : UI.Text;


function Start()
{
if (CurrentTime>HighScore)
{
HighScore= CurrentTime;
}
TempoImpiegato.text = "Score : "+ CurrentTime.ToString("0.0");
Record.text = "Record : "+ HighScore.ToString("0.0");
}


RE: Problema con variabile - Blackg96 - 13-06-2015

Prova con un Mathf.Clamp(variabile da clampare, da, a);

Il problema sorge anche perchè tu hai messo nello Start() e il controllo viene fatto una sola volta, prova nell'update Big Grin


Problema con variabile - davidecreatoreapp - 13-06-2015

In quanto al Mathf.Clamp proverò appena potrò, mentre per il function Start ( ) l'ho messo perché lo script è su un livello diverso (che viene avviato nella function GameOver)


RE: Problema con variabile - Blackg96 - 14-06-2015

Ok allora poi fammi sapere Big Grin


Problema con variabile - davidecreatoreapp - 14-06-2015

Non conoscevo mathf.clamp così mi sono informato ma ho scoperto che non fa quello che mi serve... almeno da quello che ho capito. Infatti diciamo che questa variabile dovrebbe aumentare costantemente (cosa che avevo già fatto) ma il problema era nello scrivere il valore, come avevo già detto.