Visualizzazione dei risultati da 1 a 7 su 7

Discussione: removeMovieClip

  1. #1

    removeMovieClip

    Dovevo duplicare due cuori in un bel po' di cuori nel mio filmato, così li ho duplicati ovviamente in cicli for, i cuori vanno in direzioni casuali e spariscono con un' alpha=0
    in una determinata posizione........dopo ho provato il filmato e ho visto che andava un po' piu' lentamente così ho aggiunto il removeMovieClip alla fine dei cicli di duplicazione..

    Il tutto:

    count = 0;
    for (var e = 0; e <= 400; e++){
    count++;
    duplicateMovieClip(cuore, "cuore1" + count, count);
    this["cuore1" + count]._y = this.news._y+(100*(e+1));
    this["cuore1" + count]._x = this.news._x+(100*(e+1));
    }
    for (var a = 0; a<=400; a++) {
    count++;
    duplicateMovieClip(cuore2, "cuore3" + count, count);
    this["cuore3" + count]._x = cuore3._x+(100*(a+1));
    this["cuore3" + count]._y = cuore3._y+(100*(a+1));
    }

    _cuore1.removeMovieClip();
    _cuore3.removeMovieClip();

    Ma il filmato va sempre un po' lento dove ho sbagliato::::::::::?????????

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    questi "cuori" sono delle immaigni o delle forme vettoriali disegnate direttamente su flash?

    comunque in ogni caso mi pare abbastanza normale il rallentamento, fai due cicli per un massimo di 400 ricorsioni l'una... mi pare il minimo che rallenti...

    ps. quei due removeMovieClip che hai messo sono abbastanza inutili visto che puntano a due clip che non esistono

  3. #3

    ops

    ma scusa, a parte che sono un po' ignorante sulla materia.........!!, cuore1 e cuore3 non sono la miriade di clip che ho fatto.........

    se non sono loro, allora devo mettere nei remove cuore e cuore2?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    no, tu hai creato "cuore1"+count, perciò è come se avessi creato:

    cuore10
    cuore11
    cuore12
    cuore13
    cuore14
    cuore15
    ...
    cuore1400

    stessa cosa per "cuore3"+count

    e se fai il removeMovieClip di questi elementi subito dopo il ciclo, non avrai ottenuto nulla in ogni caso... perchè il ciclo for avviene in una frazione di tempo pressochè istantanea, quindi in pratica tu staresti creando ed eliminando subito il nuovo clip, senza attendere che questo abbia fatto la sua transizione

    inoltre noto un altro errore nel codice che hai postato, ossia che utilizzi lo stesso indice per entrambi i cicli, che apparte essere inutile quando si utilizza un ciclo for (hai già la tua variabile incrementale, "e" nel primo ciclo e "a" nel secondo), crea problemi perchè viene incrementato due volte di seguito, sbeffeggiando il conteggio dei clip e aumentando i cicli di utilizzo della CPU

    potresti tranquillamente raccogliere il tuo codice in un unico ciclo con meno complicazioni

    Codice PHP:
    for (var 1<= 400e++){
        
    duplicateMovieClip(cuore"cuore1"+ee);
        
    duplicateMovieClip(cuore2"cuore3"+ee+400);
        
    this["cuore1"+e]._x this.news._x+(100*(e+1));
        
    this["cuore1"+e]._y this.news._y+(100*(e+1));
        
    this["cuore3"+e]._x cuore2._x+(100*(e+1));
        
    this["cuore3"+e]._y cuore2._y+(100*(e+1));

    ps. per l'assegnazione di x e y a "cuore3"+e ho messo cuore2 come riferimento, prima era cuore3 ossia 0

  5. #5

    ma...

    sei veramente un grande aiuto...........
    Ti faccio l'ultima domanda ma il remove adesso come lo devo mettere????????

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    in pratica devi eseguire lo stesso ciclo però al posto di duplicare e assegnare le coordinate, devi usare il remove

    Codice PHP:
    for (var 1<= 400e++){
        
    this["cuore1"+e].removeMovieClip();
        
    this["cuore3"+e].removeMovieClip();

    comunque come ti ho detto, non ha molto senso farlo subito, perchè sarebbe come creare e subito dopo eliminare i clip

    avresti bisogno di un evento che verifichi che tutti i clip abbiano effettuato l'animazione prima di eliminarli... ma apparte la difficoltà di crearla, penso che i calcoli per le verifiche sarebbero pesanti per la cpu tanto quanto lasciare tutto invariato

  7. #7

    grande

    Grazie ancora del tuo aiuto..............
    Sei stato veramente molto chiaro!!!!!!!!!!!!!

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.