Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Contare in automatico quante clip ci sono sul movie?

    Salve a tutti sto cercando di creare un'applicazione in flash che dovrebbe funzionare così:
    inserisco sul mio filmato un n numero di clip tutte uguali che hanno però come nome qua_0001, qua_0002, ecc, posso farmi restituire con una procedura automatica i seguenti dati?
    numero totale di qua_, nome e posizione dei vari clip es
    qua_0001 x10, y20
    qua_0002 x20, y20
    qua_0003 x30, y20
    Ciao By Peter_Pan...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    credo..

    Credo di esserci riuscito, vi posto il codice:
    codice:
    onClipEvent (load) {
    	trace("nome:  "+this._name+"   x:"+this._x+"  y:"+this._y)
    	_root.test.text = "x:"+this._x+"  y:"+this._y;
    
    }
    sullo stesso frame inserisco tutti i movie clip che voglio ed ad ognu'uno assegno il nome quad_0001 ecc, quando lancio l'swf, nel trace mi segna tutti i nomi e le posizioni dei clip presenti, ora però vorrei aggiungere che quando clicco su un clip in particolare mi scrivesse in una text il nome e la posizione del clip premuto, ho aggiunto il seguente codice ai movie clip ma non funziona, mi stampa sempre e solo il primo clip:
    codice:
    onClipEvent (mouseUp) {
    	_root.test.text = "nome:  "+this._name+"   x:"+this._x+"  y:"+this._y;
    }
    come posso risolvere???
    Ciao By Peter_Pan...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    come non detto, mi servirebbe creare una funzione che mi restituisce tutti i nomi delle clip che iniziano con quad_000n in modo tale che poi posso far riferimento ad ognuna di esse per leggere le proprietà ed altro.
    Ciao By Peter_Pan...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Peter_Pan
    come non detto, mi servirebbe creare una funzione che mi restituisce tutti i nomi delle clip che iniziano con quad_000n in modo tale che poi posso far riferimento ad ognuna di esse per leggere le proprietà ed altro.
    ti consiglio di non mettere tutti quegli zeri, così puoi sfruttare un ciclo for per fare quello che ti interessa

    la cosa migliore sarebbe mettere un nome tipo "quad_1...quad_2... ....quad_10 ecc..."

    così poi sulla timeline scrivi solo
    codice:
    for (i=1; i<=10; i++){
    	path = _root["quad_"+i];
    	trace("nome:  "+path._name+"   x:"+path._x+"  y:"+path._y);
    	_root.test.text = "x:"+path._x+"  y:"+path._y;
    	path.onRelease = function(){
    		_root.test.text = "nome:  "+this._name+"   x:"+this._x+"  y:"+this._y;
    	}
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    però così come dici tu se io ho più di 10 clip devo cambiare il ciclo, non c'è la possibilità di contarli senza specificare il numero massimo?? E altra cosa alla quale ho pensato solo adesso io quando creo questo swf devo ad esempio copiare ed incollare n quadrati e devo poi dare il nome ad ognuno, il che mi porta via tanto tempo, ma se io li chiamassi tutti con lo stesso nome tipo quad non potrei risalire al'indice come se fosse in javascript?? tipo quad(1)._x per ricavare la posizione del quad(1)???
    Ciao By Peter_Pan...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    up sono disperato, ma se io inserisco un movi clip più volte senza dargli un istance name, o meglio dando a tutti la stessa istance name, non riesco, tramite un indice a recuperarmi la posizione x y??
    Ciao By Peter_Pan...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Peter_Pan
    però così come dici tu se io ho più di 10 clip devo cambiare il ciclo, non c'è la possibilità di contarli senza specificare il numero massimo?? E altra cosa alla quale ho pensato solo adesso io quando creo questo swf devo ad esempio copiare ed incollare n quadrati e devo poi dare il nome ad ognuno, il che mi porta via tanto tempo, ma se io li chiamassi tutti con lo stesso nome tipo quad non potrei risalire al'indice come se fosse in javascript?? tipo quad(1)._x per ricavare la posizione del quad(1)???
    la tua risposta mi lascia alquanto perplesso,
    nel primo post lasci intendere che metti a mano i clip sullo stage e che sempre a mano gli assegni dei nomi sequenziali tipo quad_0001 ecc,
    ora mi chiedi se sia possibile dare lo stesso nome ai clip (ti dico subito che non è possibile) per velocizzare la procedura
    la soluzione ideale sarebbe lasciare un unico clip in libreria e attaccarlo tante volte quante son quelle del ciclo, così che il codice diventerebbe
    codice:
    for (i=1; i<=10; i++){
    	_root.attachMovie("quad_", "quad_"+i, i);
    	path = _root["quad_"+i];
    	trace("nome:  "+path._name+"   x:"+path._x+"  y:"+path._y);
    	_root.test.text = "x:"+path._x+"  y:"+path._y;
    	path.onRelease = function(){
    		_root.test.text = "nome:  "+this._name+"   x:"+this._x+"  y:"+this._y;
    	}
    }
    nella libreria selezioni il clip quad_ e con il tasto destro apri il menù contestuale che contiene tra le altre, la voce "Concatenamento", la selezioni e dai il segno di spunta a "Esporta per ActionScript", okkio al nome che gli assegni, perchè è a quello che fà capo l'attachMovie

    in ogni caso il numero <= a cui il ciclo deve arrivare (nel codice scritto è 10) va cambiato a mano

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    facendo alcune prove sono riuscito ad ottenere che posso copiare ed incollare lo stesso movie clip per n volte, senza dare a nessuno un nome di instace, per accedere poi alle proprietà di questo clip faccio in questo modo:
    codice:
    for (i=1; i<=31; i++){
    	trace(_root.plan["instance"+i]._name + "--"+_root.plan["instance"+i]._x);
    	_root.test.text  = _root.test.text + _root.plan["instance"+i]._name + "--"+_root.plan["instance"+i]._x;
    }
    l'unico problema che i movie clip hanno un instace con numero dispari quindi avrò instance1, instance3, instance5 e così via, ora ti vorrei chiedere come posso in questo ciclo farmi stampare nella text e nel trace solo i numeri dispari di i?? E se è possibile ricavare il numero massimo di (_root.plan.instance), in modo tale da fare un ciclo sul totale dei movie clip e quindi non mettere l'indice a mano??
    Ciao By Peter_Pan...

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Peter_Pan
    è un metodo che non ho mai usato, volendo è anche valido, ma questa cosa dei soli numeri dispari, è un po' illogica per il programma, dovrei fare qualche prova...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    io non conosco bene la sintassi di flash, in asp farei
    codice:
    if (i mod 2) Then
    Che significa se il resto tra i/2 è 0 allora è un numero pari, solo che in flash non so come si scrive.
    Perchè poi dici che è illogica? porta uno sfasamento di un numero perchè all'interno delle clip c'è un button.
    Ciao By Peter_Pan...

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.