Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    comandare un MovieClip con actionscript 3.0

    Ciao a tutti,

    ho un problema con AS 3.0, vi spiego: ho un MovieClip chiamato "mc-A" che contiene un MovieClip chiamato "mc-B" che a sua volta contiene un MovieClip chiamato "mc-C" che a sua volta contiene un pulsante chiamato "puls-A"

    Come faccio a controllare il MovieClip "mc-A" cliccando sul pulsante "puls-A"?

    Grazie a tutti per la disponibilità!
    Gianfranco Zola orgoglio di un'isola

  2. #2
    in un frame dello stage principale ho messo questo comando:



    var colorInfo:ColorTransform = mc-A.transform.colorTransform;

    function makeBlue(event:MouseEvent):void
    {
    colorInfo.color = 0xFF3300;
    mc-A.transform.colorTransform = colorInfo;
    }
    puls-A.addEventListener(MouseEvent.CLICK, makeBlue);

    però non funziona... dove sbaglio?
    Gianfranco Zola orgoglio di un'isola

  3. #3
    nelle vecchie versioni di flash avrei usato

    _root.puls-A

    ma ora come devo fare?
    Gianfranco Zola orgoglio di un'isola

  4. #4
    Ciao,
    sembra corretto

    mc-A.transform.colorTransform = colorInfo;

    sicuro che la funzione viene richiamata? hai provato a mettere un trace dentro per vedere se effettivamente quel codice viene eseguito?

  5. #5
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    La funzione è corretta ma in quel modo, puls_A non viene associato al Listener (ascoltatore).

    Prima di tutto i nomi dei MovieClip vanno nominati nel campo <Nome istanza> con caratteri ammessi in ActionScript 3.0.
    Puoi scrivere puls_A o pulsA o quello che vuoi ma non nomi con un trattino come quello che stai usando.

    L'errore viene segnalato nel momento in cui si tenta di inserire un nome non valido per cui mi sembra strano che hai inserito quei nomi usando AS3.

    Poi devi considerare che il tuo MovieClip mc_A con gli altri MovieClip annidati al suo interno si trova sullo stage principale nel fotogramma dove inserisci il codice.

    Quindi la sua gerarchia è composta così:

    mc_A > mc_B > mc_C > puls_A

    Per riferirti a puls_A devi quindi ricostruire il percorso con la classica sintassi del punto, in questo modo:

    mc_A.mc_B.mc_C.puls_A.addEventListener ....

    Il codice corretto sarà quindi così:

    Codice PHP:
    var colorInfo:ColorTransform mc_A.transform.colorTransform;

    mc_A.mc_B.mc_C.puls_A.addEventListener(MouseEvent.CLICKmakeBlue);

    function 
    makeBlue(event:MouseEvent):void 

    colorInfo.color 0xFF3300
    mc_A.transform.colorTransform colorInfo

    In questo modo comunque, ovviamente cambi il colore di tutto mc_A e i clip annidati al suo interno non saranno più visibili.
    Se la tua intenzione è quella di cambiare il colore solo a mc_A mantenendo gli altri clip del loro colore devi usare un'altra tecnica.
    La più semplice è creare 2 fotogrammi chiave di colore diverso in mc_A e al click sul pulsante spostare la timeline di mc_A sul fotogramma con colore diverso.

    ciao

  6. #6
    Corretto ciò che dice Sleter. Mamma mia... si vede che non uso mai la timeline e i simboli dichiarati sullo stage Chiedo venia.

  7. #7
    Grazie,

    i nomi dei MovieClip e del pulsante erano di esempio. Sbagliavo nella organizzazione del listato perchè non l'ho organizzato in forma gerarchica. Ero abituato all'actionscript preistorico. Grazie della disponibilità!
    Gianfranco Zola orgoglio di un'isola

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.