Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303

    gestione di clip annidati... mi spiegate?

    raga...
    ho scoperto una cosa che non riesco a capire....
    ho un clip "mother" con annidato al suo interno il clip "child".
    Al clip mother posso dare: on(release) e funzia...
    Al clip annidato "child" al suo interno invece non posso dare on(release) che non funzia, ma devo dare onClipEvent(mousedown) che funzia.

    Come mai?

  2. #2
    Posta il codice, perchè l'onrelease funziona benissimo anche su clip annidati, ma magari hai messo dei percorsi tali per cui le azioni funzionano dal clip "mother" e non da "child"

  3. #3
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303
    broly, ti posto il fla, che faccio prima

    lo trovi qui: http://www.klauzz.com/clip/clip_annidati.zip


    thanxxx

  4. #4
    Ok ho capito cosa intendevi, che se associ un on(release) o simile al clip "mother" E un on(release) o simile al clip "child" quest'ultima non funziona...questo è normale, perchè viene letta l'azione di "mother" e quella di "child" quindi "non viene vista".
    Hai due possibilità: o elimini l'azione data a mother dopo che è stata eseguita, o assegni le azioni ad esempio "mother_puls" messo dentro a "mother", cioè non assegni azioni al clip che conterrà "child", ma ad un clip che sarà contenuto INSIEME a child in un altro movieclip.

  5. #5
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303
    uhm...

    sembra complicata la storia...

    tu dici... nella prima soluzione che è possibile eliminare la prima azione, cioè quella di rollover data al primo clip.
    Come si fa?
    Postami il kode se riesci.

    la seconda solution che proponi non riesco a capirla... abbi pazienza... non è da molto che viaggio con flash... riusciresti a spiegarmelo meglio?

    thanxxx

  6. #6
    Nella prima dipende dalla versione che usi, se usi mx o mx2004 è fattibile.

    La seconda è molto semplice
    Tu ora hai una cosa del tipo

    - mother (con azioni)
    -- child (con azioni)

    Per risolvere basterebbe fare

    - contenitore (senza azioni)
    -- child 1 (ex mother, con azioni)
    -- child 2 (con azioni)

  7. #7
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303
    perfekt Broly! ero arrivato alla soluzione 2 pensando alle tue parole mentre tornavo a kasa dal lavoro, e coincidendo col tuo post più recente l'ho subito provata e infatti funzia alla grande

    bè... ora che mi hai fatto incuriosire... riguardo la soluzione numero uno mi puoi accennare qualcosa? sì. io uso Flash Mx e Flash Mx 2004 Pro

  8. #8
    In pratica se tu invece di associare le azioni con on(rollOver), on(release) etc. le associ con

    nomeistanza.onRelease = function(){
    // azioni...
    }

    (che è una possibilità introdotta appunto da flash Mx), dopo puoi assegnare altre azioni o eliminare le presenti usando ad esempio

    delete nomeistanza.onRelease

    In questo modo puoi ad esempio eliminare le azioni di mother e assegnare le azioni a child quando necessario, senza che si "sovrappongano"

  9. #9
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303
    ok Broly...
    mi ha incuriosito così tanto la tua seconda solution che ho subito cercato di provarla.
    Solo che ho ancora qualche problemino.
    In sostanza ho messo in un frame della root questa action:

    codice:
    _root.mother_puls.onRollOver = function() {
    	if (_root.mother_puls._currentframe != 5) {
    		_root.mother_puls.gotoAndPlay(2);
    	}
    };
    _root.mother_puls.child_puls.onRelease = function() {
    	loadMovie("child.swf", _root.main_loader);
    };
    La prima action la prende con successo, e la seconda no.
    Credo che sia per il solito problema della action annidata.
    Il controllo che faccio con "if" mi serve solo per evitare che mi continui a fare la action ogniqualvolta che vado onRollover sul mother_puls.
    Ora dovremmo riuscire a fare il famoso delete, ma non ho idea di dove inserire quel code, e soprattutto come scriverlo.
    Mi dai una mano?

  10. #10
    Certo, così non elimini nessuna azione e quindi è ovvio che ti dia lo stesso problema. Devi usare ad esempio un delete.

    _root.mother_puls.onRollOver = function() {
    if (_root.mother_puls._currentframe != 5) {
    _root.mother_puls.gotoAndPlay(2);
    delete this.onRollOver
    }
    };
    _root.mother_puls.child_puls.onRelease = function() {
    loadMovie("child.swf", _root.main_loader);
    };

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.