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

    AS3 Dimensioni degli oggetti

    Salve ragazzi, avrei bisogno di dare delle dimensioni ad un oggetto nel mio stage.

    In AS facevo semplicemente

    clip._widht=Stage.width;
    clip._height=Stage.height;

    In questo modo adatto l'immagine allo stage sia di altezza che di larghezza....Cosa cambia in AS3???


    Un saluto grazie in anticipo!
    http://www.generationweb.it <--- web site

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Codice PHP:
    clip.width stage.stageWidth;
    clip.height stage.stageHeight
    ciao

  3. #3
    Perfetto, non pensavo fosse cosi stupida come cosa....

    Ora però una cosa che nn riesco a capire di sto cavolo di AS3 è il comando _root e _parent....

    se ad esempio ho un bottone nel filmato "mc_clip" e, tramite il bottone stesso, volessi dare un'azione ad un oggetto presente nello stage principale come sostituisco il comando _root?


    esempio: _root.oggetto.(azioni........)
    http://www.generationweb.it <--- web site

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

    Non serve che definisci il livello (root) a cui ti riferisci.
    E' sufficente che nel livello sia presente l'oggetto su cui vuoi interagire.

    Ti faccio un esempio pratico:
    Sei nel primo fotogramma della timeline principale dove è presente un tuo MovieClip con bottone annidato al suo interno e nominato con nome istanza "bottone" e vuoi interagire su un altro MovieClip presente nello stesso fotogramma della timeline principale (nome istanza:"pippo"), spostando la sua timeline a un determinato fotogramma .

    Codice PHP:
    mc_clip.bottone.addEventListener(MouseEvent.CLICKfunzione);
    function 
    funzione(evento:MouseEvent):void{
    pippo.gotoAndPlay(5);

    In questo caso il Listener è applicato al "bottone" annidato in "mc_clip" e "pippo" è presente con il suo nome istanza nello stesso fotogramma.
    Nel caso vuoi applicarlo a "mc_clip" ti basta questo:

    Codice PHP:
    mc_clip.addEventListener(MouseEvent.CLICKfunzione);
    function 
    funzione(evento:MouseEvent):void
    pippo.gotoAndPlay(5); 

    E' importante considerare che lo stage principale VEDE e interagisce con eventuali timeline di MovieClip posizionati sullo stage stesso.
    Più problematico ma comunque fattibile fare in modo che una funzione inserita in una timeline secondaria di un clip annidato possa interagire sullo stage principale.
    In altre parole il "padre" controlla facilmente il figlio ma per fare in modo che il "figlio" controlli il "padre" occorre adottare un "trucco" particolare e in questo caso ritorniamo a utilizzare il .parent.

    Se ti interessa approfondire la questione possiamo riparlarne in un topic più specifico (ovviamente, se tempo e voglia ce lo permettono).

    Alla prossima !

    ciao

  5. #5
    Ma mc_clip sarebbe il nome del clip che contiene il simbolo istanziato "bottone"???
    http://www.generationweb.it <--- web site

  6. #6
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Originariamente inviato da generationweb.i
    Ma mc_clip sarebbe il nome del clip che contiene il simbolo istanziato "bottone"???
    yes !

    "mc_clip" è sullo stage con il suo nome istanza.
    Dentro mc_clip c'è il simbolo Pulsante con suo nome istanza dentro mc_clip

    Lo stage è il "padre".
    mc_clip è il "figlio".
    bottone è il "figlio del figlio", ovvero il simbolo annidato e istanziato con il suo nome in "mc_clip"

    ciao

  7. #7
    Si questo lo sapevo, ma la questione è questa:


    Mi trovo all'interno del del clip "mc_clip" nel quale c'è il bottone istanziato "bottone"...ok

    Ora vorrei che al click sul pulsante istanziato BOTTONE mi carichi un swf esterno in un clip istanziato "CARICATORE" che si trova nello stage principale....

    http://www.generationweb.it <--- web site

  8. #8
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Allora, sullo stage hai un clip con al suo interno il bottone.
    Sempre nel fotogramma della timeline principale che contiene "mc_clip" NON nella timeline di "mc_clip" inserisci il codice:

    Codice PHP:
    var loader:Loader = new Loader();
    loader.load(new URLRequest("nomeFile.swf"));

    mc_clip.bottone.addEventListener(MouseEvent.CLICKcaricaSWFinContenitore); 

    function 
    caricaSWFinContenitore(evento:MouseEvent):void
    contenitore.addChild(loader);

    L'oggetto "loader" al click su "bottone" viene caricato alla coordinata x e y = 0 di "contenitore".

    Se invece, come ho scritto sopra, vuoi inserire il codice nella timeline di "mc_clip" e vuoi che questo abbia effetto sulla timeline principale, c'è il sistema per farlo ma in questo caso mi sembra non abbia molto senso se non quello di spezzettare inutilmente il codice di quà e di là.

    ciao

  9. #9
    Perfetto....però mi nasce un dubbio, nel momento in cui ci sono diversi filmati da caricare???

    ad esempio sul bottone home posso far caricare il seguente filmato

    var loader:Loader = new Loader();
    loader.load(new URLRequest("home.swf"));


    al tasto home do il seguente codice

    mc_clip.bottone.addEventListener(MouseEvent.CLICK, caricaSWFinContenitore);

    function caricaSWFinContenitore(evento:MouseEvent):void{
    contenitore.addChild(loader);
    }

    ovviamente la funzione mi rikiama home.swf...

    Se ad esempio volessi far caricare un nuovo filmato ad esempio contatti.swf???
    come imposto il codice....

    var loader:Loader = new Loader();
    loader.load(new URLRequest("contatti.swf"));

    dovrei cambiare il nome della variabile loader???
    http://www.generationweb.it <--- web site

  10. #10
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    ...dovrei cambiare il nome della variabile loader???
    Si ! Dovresti duplicare il tutto cambiando il nome della variabile "loader" (esempio "loader2") ma anche creare un altro "mc_clip2" + "bottone2".
    Anche il nome della funzione deve essere diverso (es: caricaSWF2inContenitore ).

    Il contenitore può essere lo stesso ma per evitare che il "loader" precedente rimanga sotto quello nuovo, dovrai rimuoverlo con:

    Codice PHP:
    contenitore.removeChild(loader);
    loader=null
    ciao

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.