Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [MX] Basi numeriche

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336

    [MX] Basi numeriche

    Ciao, esiste una funzione in flash che trasforma un numero in base 10 in un numero in base 8?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Puoi spiegarti un po' meglio. magari un esempio?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Il problema è questo, ho chiesto base 8 perchè credevo fosse + facile da capire, ma in realtà mi servirebbe in base 60.

    Volevo semplicemente, dato il numero di frame attuale del filmato e il framerate, calcolare il tempo attuale di riproduzione del filmato (almeno un pressapoco).

    Sono riuscito, con questo codice:

    codice:
    _root.secondi.text=Math.round(_root.filmato._currentframe/20);
    dove 20 è il framerate del filmato. La cosa funziona, l'unico problema è che quando arriva a 60 prosegue, da il numero di secondi.

    Così volevo sapere se esiste una funzione di conversione da base decimale a un'altra base (60 in questo caso).

    Se non c'è farò un po' di calcoli.


  4. #4
    C'è Number.toString che permette di specificare la base, però arriva fino a 36

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Grazie, mi ingenierò un po'

  6. #6
    Hai idea di cosa vuol dire convertire un numero in base 60? A livello di codice è semplice, ma prima devi trovare altri 26 caratteri (oltre alle lettere e ai numeri) per codificare il numero! Non è una cosa molto comoda.

  7. #7
    Scusate il reply doppio. Per il tuo problema, non c'è bisogno di convertire un numero in base 60.
    Volevo semplicemente, dato il numero di frame attuale del filmato e il framerate, calcolare il tempo attuale di riproduzione del filmato (almeno un pressapoco).
    Intanto fai mente locale al fatto che, affinché tu possa usare la proprietà _currentframe, è necessario che il filmato scorra sempre in una sola direzione. Se non fosse così, dovresti associare ad ogni frame l'incremento di una variabile in modo tale da tener traccia del numreo di frames effettivamente eseguiti.
    Comunque:
    Sono riuscito, con questo codice:
    codice:
    _root.secondi.text=Math.round(_root.filmato._currentframe/20);
    dove 20 è il framerate del filmato. La cosa funziona, l'unico problema è che quando arriva a 60 prosegue, da il numero di secondi.
    Ma allora tu vuoi contare modulo 60, non convertire in base 60! E' molto più semplice, prova così:
    codice:
    _root.secondi.text=Math.round(_root.filmato._currentframe/20) % 60;

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Grande!!

    Se a qualcuno interessa il codice completo che ho usato è questo:

    _root.filmato è il filmato caricato.
    _root.totale è la casella di testo che indica il tempo totale.
    _root.parziale è la casella di testo che indica il tempo parziale.

    il codice l'ho messo nell'evento enterframe di "filmato".

    tempo totale del filmato:
    codice:
    	vartimeminuti=Math.floor((_root.filmato._totalframes/20)/60);
    	if(vartimeminuti<10)
    	{
    		vartimeminuti="0"+vartimeminuti;
    	}
    	
    	
    	vartimesecondi=Math.round((_root.filmato._totalframes/20)%60);
    	if(vartimesecondi<10)
    	{
    		vartimesecondi="0"+vartimesecondi;
    	}
    	
    	_root.totale.text=vartimeminuti+" : "+vartimesecondi
    tempo parziale del filmato:
    codice:
     
    	
    	varsecondi=Math.round(_root.filmato._currentframe/20) % 60;
    	if(varsecondi<10)
    	{
    		varsecondi="0"+varsecondi;
    	}
    	
    	
    	varminuti=Math.floor((_root.filmato._currentframe/20)/60);
    	
    	if(varminuti<10)
    	{
    		varminuti="0"+varminuti;
    	}
    	
    	_root.parziale.text=varminuti+" : "+varsecondi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.