Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con Array

  1. #1

    Problema con Array

    Ciao a tutti, ho un piccolo problema con gli array.
    In sostanza la mia situazione è la seguente: Ho sullo stage 9 mc instanziati come pippo_1, pippo_2 ... pippo_9.
    Quello che devo fare è zoomarli tutti insieme (quindi xscale e yscale) di un tot (dico tot perchè non so bene di quanto ancora, dovrei fare delle prove per vedere come rendono).
    Probabilmente questo codice mi servirà per altri filmati, quindi volevo cercare di renderlo un minimo flessibile e adattabile.
    Avevo pensato di crearmi un array vuoto e riempirlo poi con un ciclo for con tutti i nomi instanza degli mc, una cosa del genere.
    codice:
    Elementi = new Array();
    
    function scala(){
    	for (i=1; i<10; i++){
    			//trace (i);
    			_root.Elementi.push(eval ("pippo_" +i ));
    		
    	}
    }
    Andando a fare un trace in effetti l'array pare riempirsi bene.
    Ora la mia difficoltà è: come faccio a dirgli che tutti gli elementi dell'array devono eseguire un determinato comando?
    In pratica volevo fare un altro ciclo for (dove poi farò delle prove per quanto deve ciclare per otterene un effeto di zoom fluido) dove tutti gli mc mi zoomavano insieme, una cosa tipo cosi
    codice:
    for (k=0; k<50; k++){
    			Comandosconosciuto._xscale += 2;
    			Comandosconosciuto._yscale += 2:
    		}
    Ovviamente al posto di "comandosconosciuto" ci dovrebbe andare un comando che faccia prendere xscale e yscale a tutti gli elementi del mio array, e quindi a tutti i miei mc.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non è necessario fare tutti 'sti giri, basta che istanziare i clip che ti interessano con nomi sequenziali, tipo clip1 clip2 clip3 ecc...

    dopodichè per applicare le azioni in ciclo a questo gruppo di oggetti

    codice:
    for (k=0; k<50; k++){
    	_root["clip"+k]._xscale = _root["clip"+k]._yscale += 2;
    }

  3. #3
    Facendo un ciclo for che ti aumenti lo scale dei filmati non noti nulla, vedi direttamente i filmati ingrandirsi di colpo, non è fluido.
    L'idea di mettere i clip dentro ad un array è buona, ma poi per ogni clip, se vuoi vedere uno zoom fluido devi fare unEnterFrame che ti aumenti lo scale, oppure un setInterval.
    Un'altra soluzione sarebbe quella di mettere tutti i filmati dentro ad un filmato contenitore, poi fai uno zoom a quel contenitore, sempre se l'effetto che vuoi ottenere è quello di zoommarli tutti insieme

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.