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

    Rimuovere le istanze MC da un Array al click di un pulsante...

    Ciao,

    Ho creato un array di istanze MovieClip che dopo devo rimuovere. Il codice è così:

    codice:
    for (var i:int = 0; i<2; i++) {
    
    var mc:mcInstance = new mcInstance () ;
    var myArray:Array = new Array(i);
    
    myArray.push(mcInstance ); 
    container.addChild(mc);
    
    myButton.addEventListener (MouseEvent.CLICK, onButtonClick);
    function onButtonClick (event:MouseEvent):void {
    container.removeChild(mc);
    
    }
    }
    Quando clicco il pulsante non vengono rimosse dallo stage tutte le istanze del MovieClip ma soltanto una. Sapete aiutarmi ???
    Perfavore.
    Bill Gates disse "Bug". E windows fu.

  2. #2
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    1^ cosa: ricrei l'array e l'istanza ogni volta (basta solo all'inizio)
    2^cosa: perchè aggiungi il listener dentro al for? quando ne hai 1 basta....

    il codice fallo così (a parer mio è molto meglio)
    Codice PHP:
    var myArray:Array = new Array();
    var 
    mc:mcIstance = new mcIstance

    for(var i:int=0i<2;i++){
       
    myArray.push(mcIstance);
       
    container.addChild(myArray[i]);
    }

    myButton.addEventListener (MouseEvent.CLICKonButtonClick);
    function 
    onButtonClick (event:MouseEvent):void {
       for(var 
    i:int=0i<2;i++){
          
    container.removeChild(myArray[i]);
       }

    Dovrebbero essere messi a posto i problemi (se nn ci sono altri errori..l'ho fatto senza flash sotto mano)...

  3. #3
    Il codice immesso è leggermente sbagliato (questione di errori di battitura immagino) sarebbe così:

    codice:
    var myArray:Array = new Array(); 
    var mc:mcInstance = new mcInstance(); 
    
    for(var i:int=0; i<10; i++){ 
       myArray.push(mc); 
       container.addChild(myArray[i]); 
    } 
    
    myButton.addEventListener (MouseEvent.CLICK, onButtonClick); 
    function onButtonClick (event:MouseEvent):void { 
       for(var i:int=0; i<2;i++){ 
          container.removeChild(myArray[i]); 
       } 
    }
    Comunque non funziona... in questa maniera, se "var mc:mcInstance = new mcInstance(); " non viene inserito nel loop "for", viene creata soltanto un'istanza del MovieClip.
    Inserendolo nel loop invece il pulsante mi rimuove soltanto un'istanza e non l'intero array
    Bill Gates disse "Bug". E windows fu.

  4. #4
    tutto apposto adesso prima ho cambiato i parametri di i e non li ho aggiornati anche sotto... bisognava come ho detto inserire e basta
    codice:
    var mc:mcInstance = new mcInstance();
    nel loop for;


    Grazie mille !!!
    Ti rimarrò debitore...
    Se hai bisogno di qualcosa contattami:
    rart.bb.restricted-zone@hotmail.it
    Bill Gates disse "Bug". E windows fu.

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.