Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema [FOR]

  1. #1

    Problema [FOR]

    ho un piccolo problema....

    allora io ho queste 2 righe di codice:

    onClipEvent(load) {

    for (i=1; i==11; i++) {
    if (_level0.A1 > 1) {
    _level0.A1 = 100;
    }
    }

    }

    una cavolata no?

    però il ciclo non viene mai avviato,... se lo tolgo la variabile diventa 100 altrimenti non la avvia,... da cosa può dipendere?

    non solo... ho la necessità di fare un controllo di variabili che partono da A1,A2,A3 fino ad A11 prima riga e B1,C1,D1,... come posso fare un piccolo controllo veloce?

    ho provato con un eval, ma nulla....
    CORROBORANTE
    GLEEEEEERRB!

  2. #2
    il codice e' sbagliato, la sintassi e'
    for(iniziale, verifica, incremento){}
    se come verifica metti 11 e iniziale 1 non parte

    se vuoi verificare da A1 ad A11 il codice e' questo

    for (i=1; i<=11; i++) {
    if (_level0["A"+i] > 1) {
    _level0["A"+i] = 100;
    }
    }
    }

  3. #3
    funge,.. grazie,... io avrei fatto con eval,... non conoscevo affatto quel metodo...

    CORROBORANTE
    GLEEEEEERRB!

  4. #4
    Ora la cosa mi si complica non poco...

    io ho una griglia di 11x11 quadrati...
    detro la prima linea devo mettere A1,A2,A3 che sono delle duplicazioni di un filmato...

    for (i=1; i<=11; i++) {
    if (_level0["A"+i] > 1) {
    Movie = "A"+i;
    floor.duplicateMovieClip(Movie); //è giusto?
    }
    }

    Devo stabillire inanzi tutto se mi conviene fare un array contenente già le coordinate per le _x e _y del nuovo MC oppure calcolarle al volo dentro il codice, ma come?

    Ogni elemento(MC) è di 20x20, quindi si muovono da uno spazio di 10x10 a 210x10... e questo è solo il primo punto diciamo critico di tutto il lavoro.... anche perche poi ogni nuovo MC devono andare al frame N° (valore di A1 o di A2 o di A3) e così via...

    Il mio primo esperimento funzionante aveva già tutti i mc posizionati ma essendoci una griglia di 11x11 MC x 7 livelli... il tutto a cominciato man mano a pesare un pò troppo.

    Allora sono ricorso al riposizionamento dinamico di ogni mc solo se il valore di ogni quadrante è differente da 1... cioè frame vuoto valore nullo, no MC duplicato.
    C'è qualcuno che può darmi una mano in questo?
    CORROBORANTE
    GLEEEEEERRB!

  5. #5
    ci ho capito ben poco.. a quanto ho capito devi:
    1-creare i movieclip
    2-posizionarli sulla griglia
    3-ogni mc deve andare al frame del suo numero

    te lo scrivo tutto in un codice..

    for (i=1; i<=11; i++) {
    if (_level0["A"+i] > 1) {
    duplicateMovieClip(_root.A1, "A"+i, i); //duplica il mc A1
    setProperty ("A"+i, _x, _root.A1._x+10);//sposta l'mc di 10 pixel a dx
    setProperty ("A"+i, _y, _root.A1._y);
    _root["A"+i].gotoAndStop(i);
    }
    }

  6. #6
    Attualmente stò rivalutando tutto quanto... avrei bisogno che qualcuno mi desse una mano per venirne a capo.

    In pratica devo realizzare una mappa autoaggiornante, il che l'ho già fatto ma con già tutti gli elementi e textures caricati nel filmato.
    Così funziona benissimo, ma comincia a pesare molto(88Kb) e vo0rrei ottimizzare il tutto svuotandola di mc in eccesso (oggetti posizionati ma non contenenti una textures) e non caricare tutto il set di texture ma fare l'importazione delle jpg numerate a seconda del numero di frame.

    Ora il dubbio che mi sorge è la quantità di dati che si verrebbe a caricare mettendo tutto in un clip principale che esegue un poolling per vedere dove ti trovi dal DB e riaggiornare la mappa a seconda dei tuoi movimenti e a seconda di cosa accade intorno.

    Prima avendo tutte le texture caricate, muovendo un muro o una parete lui cambiava solo di frame, ma ora caricherebbe ad ogni pool la stessa texture anche avendola già in memoria....
    Ho pensato per evitare questo di memorizzare la texture corrente in una variabile e cambiarla solo quando il numero cambia, ma non quando il pool rimane nella stessa posizione...

    Ora la mia domanda principale è se mi convenga fare qualcosa di questo tipo:

    Codice PHP:

    onClipEvent
    (load) { 

    for (
    i=1i==11i++) { 
    - if (
    _level0["A"+i] > 1) { 
    ------ 
    _level0["A"+i] = 100
    ------ 
    _level0.createEmptyMovieClip("A"+i1);
    ------ 
    _level0["A"+i].loadMovie("textures/"+i+".jpg");
    ------ 
    _level0["A"+i]._x 10;
    ------ 
    _level0["A"+i]._y 10;
    - } 



    Ora il mio unico problema oltre al fatto di non aver testato lo script sopra è se tutto ciò è fattibile oppure è controproducente.

    I pro sarebbero un infinità di textures caricabili senza appesantire l'esecuzione e il caricamento del filmato...

    I contro sarebbero un codice più complesso per la gestione di elementi trigger, wall e pedine.

    Ditemi cosa ne pensate.
    CORROBORANTE
    GLEEEEEERRB!

  7. #7
    non c'è nessuno che abbia un idea su come possa comportarmi per non avere impatti su prestazione/download del filmato?
    CORROBORANTE
    GLEEEEEERRB!

  8. #8
    sono giunto a questo punto....

    codice:
    onClipEvent(enterFrame) { 
    
    x= new array;
    y= new array;
    
    x=[0,0,20,40,60,80,100,120,140,160,180,200];
    y=[0,0,20,40,60,80,100,120,140,160,180,200];
    
    	for (i=1; i<=11; i++) {
    		 if ( _level0["A"+i] == 1 ) { unload(_level0["floorA"+i]) }	
    		 if (_level0["A"+i] > 1) { 
    			_parent.pavimenti.duplicateMovieClip("floorA"+i,i);
    			_level0["floorA"+i].gotoAndStop(_level0["A"+i]);
    			_level0["floorA"+i]._x = x[i]; 
    			_level0["floorA"+i]._y = y[1];
    			_level0["floorA"+i]._width = 20;
    			_level0["floorA"+i]._height = 20;
    		}
    	} 
    }
    ma ora avrei la necessità di eliminare un eventuale filmato di cui il valore diventa 1... ES: A2=1

    il clip A1 deve essere eliminato, come fare?
    Ho anche il problema che non fà un vero e proprio polling l'enterFrame.
    CORROBORANTE
    GLEEEEEERRB!

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.