Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Array e prototype

  1. #1

    Array e prototype

    ciao a tutti...allora vi volevo chiedere sta cosa....io ho un menu con n clip, e ho 2 freccette per scorrere a dx e snx sto menu....voglio però 2 cose....la prima è che se io continuo a pigiare il tasto freccia dx o freccia snx i miei clip si riposizionano in un loop continuo (spero di essermi spiegato) e la seconda è che quando clicco su una freccia il movimento di questi clip sia inerziale....allora il primo punto l'ho già risolto costruendo un array e aggiornandolo ad ogni clic , ma il secondo no...dunque io credo di dover costruire una funzione protitype per poterla utilizzare ovunque nel mio filmato, senza dovermi costruire movieclip vuoti che si sovrappongono e fanno casino...il problema è che quando uso questo proto tutti i miei clip finiscono sulla stessa coordinata x

    Ora posto un pò di codice così forse mi capite meglio che io in italiano avevo 4 secco!!!

    codice:
    function premi_sinistra() {
    
            //il clip che sta all'
            //estrema sinistra va a
            //finire all'estrema destra
            a[0]._x = posizioni[_root.numskin-1]; 
            	
            //ciclo per gli altri clip
            //rimasti e richiamo la funzione proto
            for (i=1; i<_root.numskin; i++) {
    		a[i].rimbaslza(0.8, 0.6);
    	}
    
            //aggiorno array con i clip spostati
    	temp = a[0];
    	for (i=0; i<=a.length; i++) {
    		if (i != a.length) {
    			a[i] = a[i+1];
    		} else {
    			a[_root.numskin-1] = temp;
    		}
    	}
    }
    
    //Banale funzione prototype per spostamento inerziale
    //deve andare di 120 a snx rispetto alla posizione attuale
    //ma invece tutti i miei clip si spostano in un punto indefinito
    MovieClip.prototype.rimbaslza = function(frizione, spost) {
    	physics = [frizione, spost];
    	targetx = this._x-5;
    	trace(targetx);
    	this.onEnterFrame = function() {
    		xspeed = ((targetx-this._x)*physics[0])+(xspeed*physics[1]);
    		this._x += xspeed;
    	};
    };

    Avete idea di dove stia sbagliando?????
    Grazie ancora e ciao!!!!!

    Teo


    __________________________
    www.themonkey.it

  2. #2
    Guarda, sinceramente non ho letto bene tutto ma ad occhio se la variazione avviene per tutte le clip sulla stessa coordinata e solo perché tu nella funzione prototype usi una variabile che resta comune, dovresti invece renderla privata per l'istanza a cui si riferisce utilizzando this.targetx = ecc...

    E così per tutti gli altri valori che possono dare lo stesso tipo di problema.

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.