Flash: eliminare un'istanza di clip filmato

Di: alice33 | 26/09/2020 18:07:19
Non riesco a trovare un modo per eliminare un'istanza di clip filmato (NON caricata in runtime, ma semplicemente inserita nello stage)dopo un certo evento (ad esempio una collisione) Non esiste un modo? Renderla invisibile non mi basta....
Non trovo neanche una funzione per sostituirla con un'altra istanza di diverso tipo....
Qualcuno mi potrebbe dare una dritta?

Risposte



hola!!!
...per togliere il movie che hai inserito sullo stage (ipotizzando che hai assegnato all'istanza il nome: myMovie e si trovi sulla root) la riga di codice che devi inserire è questa:
unloadMovie(_root.myMovie);
...funziona nonostastante sul riferimento interno a flash vi sia riportato: "rimuove un clip filmato caricato con i metodi loadMovie o attachMovie dell'oggetto MovieClip."
...spero di esserti stato utile...

Di: alispiegate | 26/09/2020 18:07:19


Grazie alispiegate!!! Non avevo neppure tentato, visto che il manuale non lo prevede ...
.... E per sostituire un'istanza di mc con un'altra (di un altro mc) c'è una funzione apposita?
Hola anche a te!

Di: alice33 | 26/09/2020 18:07:19


Hola!!
Credo che possa fare al caso tuo l'istruzione attachMovie() con la quale puoi portare tramite script un filmato dalla libreria allo stage e sostituirlo a Movie già esistenti...
...comunque a mio avviso anche se l'istruzione fa il suo dovere credo sia preferibile prima "eliminare" l'istanza del Movie che va sostituito (con l'istruzione unloadMovie oppure l'istruzione removeMovieClip) e poi caricare il nuovo Movie dalla libreria (sempre con l'istruzione attachMovie)...
...giusto per evitare possibili conflitti!!!
alla prossima!!

Di: alispiegate | 26/09/2020 18:07:19


Grazie mille!!
Mi sai dire perchè l'attachMovie funziona solo se metto this.unloadMovie mentre con unloadMovie(_root.mymc)non va??
mymc_scambio è linkato in libreria, mymc e rettangolo sono sulla root e istanziati.
Così l'attach funziona:
onClipEvent (enterFrame) {
if (this.hitTest(_root.rettangolo)) {
this.unloadMovie;}
this.attachMovie("mymc_scambio", "mymc_scambio",1);
Così invece non funziona, sparisce solo mymc:
onClipEvent (enterFrame) {
if (this.hitTest(_root.rettangolo)) {
unloadMovie(_root.mymc);
this.attachMovie("mymc_scambio", "mymc_scambio",1);}

Di: alice33 | 26/09/2020 18:08:19


Hola!
...purtroppo non ho idea di come mai la seconda versione dello script non funzioni, quello che posso fare è ipotizzare o che vi siano dei conflitti sui nomi delle istanze del filmato oppure non riconosce proprio il nome del movie
quello che ti posso consigliare è magari cambiare la riga:
unloadMovie(_root.mymc)
in:
unloadMovie("_root.mymc")
così da essere sicuri che prenda il path del filmato...
spero funzioni, mi spiace di non poter essere di maggiroe aiuto.

Di: alispiegate | 26/09/2020 18:08:19


Ho provato a mettere gli apici,e persino a cambiare i nomi ai clip ma non cambia nulla.... Comunque l'importante è avere trovato un modo che funziona! Grazie comunque per il suggerimento.
Ora purtroppo ho un altro problema che non riesco a risolvere , ma di diverso genere, perciò apro un altro filo
Hola!

Di: alice33 | 26/09/2020 18:08:19