• User

    [Risolto] GetDateMonth

    Premetto che ho appena installato flash CS3.
    Voglio creare un filmato con all'interno un movieclip che cambi a seconda del mese in corso.
    Pensavo di associare al moviclip vuoto la funzione GetDateMonth e creare un ciclo di if con i loadmovie relativi al movie da caricare.
    Potrebbe funzionare o dimentico qualcosa?
    Siccome non trovo esempi per l'utilizzo di questa funzione potreste essere così gentili da battarmi giù qualche riga di codice?
    Grazie


  • Super User

    Ciao Marco

    un esempio di base sarebbe d'inserire a l'inizio del tuo filmato:

    stop();
    var date:Date = new Date();
    var clip_array:Array = new Array("mc1", "mc2", "mc3");
    function selectClip() {
        var mese:Number = date.getMonth();
        //aggiunge l'azione per clip_array[mese]
    }
    selectClip();
    
    ```L'array dovrà contenere tutti 12 nomi (non solo 3).:D
    Di default Flash restituisce il mese da 0 (gennaio) a 11 (dicembre), il quale va perfettamente con l'index del array (anche quello da 0 (mc1) a 11 (mc12))
    Da adattare con l'azione giusta.
    
    PS1: L'unico problema che potrebbe avere è con la cache del browser. :?
    PS2: hai specificato che usi Flash CS3 ma non se usi Actionscript 2 o 3.  L'esempio è per as2.;)

  • User

    Ciao Onsitus 🙂
    Scusa la mia ignoranza, ma lo script che mi hai postato è da completare con questo codice?

    if (mese==0 && clip_array==0) {
    attachMovie("mc1","mc1",0)
    }
    if (mese==1 && clip_array==1) {
    attachMovie("mc2","mc2",0)
    }
    .....

    Però non mi funziona (ho provato a cambiare data all'orologio di windows, ma il movieclip rimane sempre lo stesso).
    Ti allego il file.
    Scusami ancora, ma non sono propio afferrato nella lettura e scrittura di script.:x


  • Super User

    Buongiorno,

    non serve piu fotogramma e mettere le clip sul area di lavoro, basta il collegamento con id dalla libreria.
    Sul primo fotogramma:

    
    stop();
    var date:Date = new Date();
    var clip_array:Array = new  Array("mc1", "mc2", "mc3");
    function selectClip() {
        var mese:Number = date.getMonth();
        attachMovie( clip_array[mese],"mc",0)
    }
    selectClip();
    
    

    Poi se vuoi posizionare il clip al posto giusto, aggiunge nella funzione:
    clip._x= 110; //110 valore a caso
    clip._y=110;

    Prova cosi. Non lo mai provato personalmente.;)


  • User

    Perfetto funziona.. 😉
    Grazie