Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [AS 2] dichiarazione variabili

    Ho letto in giro che l'as2 permette di dichiarare le variabili per il loro contenuto , es. var a:number adesso ho inventato, ma qualcuno sa come si fa? Dovrei eseguire delle operazioni sui numeri, fino ad ora ho utilizzato Number(valore) ma restituisce sempre NaN, riesco a capire il motivo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    se Number(valore) restituisce NaN, valore non è un numero. per farlo diventare numero, parseInt() o parseFloat()
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  3. #3
    Si il tuo modo mi funziona, solo che sto cercando di programmare in as2 con gli oggetti, dichiarando prima le variabili per il loro contenuto credo di risparmiare un pò di codice. ma!! :quipy:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    credo sia cosi:

    prima dichiari le variabili es:

    var myNumber:Number;
    oppure
    var myNumber:Number = new Number();
    se invece vuoi assegnare subito un valore
    var myNumber:Number = 125;


    poi quanto richiami le variabili es:

    myNumber = 100;
    nn devi piu specificare ke si tratta di un numero, flash lo sa già


  5. #5
    Originariamente inviato da 1time
    myNumber = 100;
    nn devi piu specificare ke si tratta di un numero, flash lo sa già

    Questo succedeva anche prima, anche in flash 5 con

    n = 125
    trace(typeof(n))

    restituiva Number.
    La differenza se si usa la dichiarazione con

    var n:Number=125

    cioè lo strict-type, è che da quel momento n potrà avere solo valori numerici.
    Mentre in flash 5 e mx una cosa tipo

    n = 125
    n = "Ciao"

    era fattibile, ora un

    var n:Number = 125
    n = "Ciao"

    restituirebbe un errore in quanto n si aspetta un numero e non una stringa.

    Non so se intendevi la stessa cosa..mal che vada ho messo una spiegazione in più per gli altri utenti

  6. #6
    Si, intendevo una cosa del genere, in flash mx se scrivi
    n=2
    a=3
    poi fai la somma con n+a mi restituisce NaN anzichè 5, dichiarandole prima flash sa che è un numero, quindi di conseguenza le 2 variabili le tratta come numeri e dovrebbe restituire 5. Ora lo provo, intento ringrazio tutti e due.

  7. #7
    Originariamente inviato da jeck
    Si, intendevo una cosa del genere, in flash mx se scrivi
    n=2
    a=3
    poi fai la somma con n+a mi restituisce NaN anzichè 5, dichiarandole prima flash sa che è un numero, quindi di conseguenza le 2 variabili le tratta come numeri e dovrebbe restituire 5. Ora lo provo, intento ringrazio tutti e due.
    No, anche in Flash Mx
    n=2
    a=3
    trace(n+a)

    dava 5
    Perchè che fosse un numero flash lo riconosceva benissimo anche in flashMx, l'unica differenza sostanziale è che ora se una variabile la dichiari come numerica non puoi dopo darle ad esempio un valore stringa.

  8. #8
    Preciso quale era il mio script che restituisce NaN. Avendo diverse variabili, che il contenuto si costruisce dinamicamente,(ovviamente solo numeri) e facendo diverse operazioni matematiche su di loro arrivavo ad un certo punto che m i ritrovavo il valore NaN, ho messo in tutte le variabili Number(variabile) non mi restituisce più NaN, non sono riuscito a capire il motivo. Poi se sommi il valore da 2 campi di input il risultato era NaN. Ho pensato che dichiarando la variabile come numero dovrebbe andare bene.

  9. #9
    Se ti dava NaN vuol dire che in qualche punto dello script probabilmente cambiava il numero (ad esempio lo rendeva una stringa, non sapendo com'è il tuo script non posso dire nulla con precisione).
    Se così fosse, usando lo strict-type altro non otterresti che un "errore" quando compili l'swf, in quanto 'avvertirebbe' che si sta tentando di dare un valore stringa ad una variabile che dev'essere un numero.
    Infatti myNumber:Number = 5 non dice a flash "questo è un numero", ma "la variabile myNumber dev'essere un numero, se provo ad assegnargli una stringa avvisami".
    Invece ad esempio myNumber = Number("5") "dice" a Flash "convertimi il valore stringa 5 nel numero 5. Ed è quello che fa al caso tuo, infatti come hai notato utilizzandolo lo script funziona

  10. #10
    Originariamente inviato da Broly
    Se ti dava NaN vuol dire che in qualche punto dello script probabilmente cambiava il numero (ad esempio lo rendeva una stringa, non sapendo com'è il tuo script non posso dire nulla con precisione).
    Se così fosse, usando lo strict-type altro non otterresti che un "errore" quando compili l'swf, in quanto 'avvertirebbe' che si sta tentando di dare un valore stringa ad una variabile che dev'essere un numero.
    Infatti myNumber:Number = 5 non dice a flash "questo è un numero", ma "la variabile myNumber dev'essere un numero, se provo ad assegnargli una stringa avvisami".
    Invece ad esempio myNumber = Number("5") "dice" a Flash "convertimi il valore stringa 5 nel numero 5. Ed è quello che fa al caso tuo, infatti come hai notato utilizzandolo lo script funziona
    Tutte queste cose che mi hai scritto io già le sapevo, quello che volevo sapere invece era come dire ad una variabile che il suo contenuto è un numero, e questo me lo hai detto e ti ringrazio. Ora lo script che mi dava errore non è quello in cui sto lavorando, ma un vecchio script, ora non voglio ripetere lo stesso errore, ed impazzire perchè da qualche parte viene assegnata una stringa anzichè un numero(devo anche dire che l'ho testato a fondo e funziona benissimo), quindi cerco di essere più chiaro nella stesura del codice tutto quà.

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.