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

    Passare variabili ad MC duplicati

    Praticamente duplico un pulsante TOT volte, ed ad ogni copia voglio assegnare il riempimento dello stesso campo di testo ma in modo diverso...

    praticamente ho un file esterno così fatto:
    codice:
    NSezioni=3&TitoloSez1=Titolo1&TitoloSez2=Test2&TitoloSez3=PROVA3
    nel file flash ho un campo di testo dinamico chiamato "TitoloSezione" ed un MC chiamato "pulsanteSez"

    ho prima provato a mettere questo codice nel MC:
    codice:
    onClipEvent (mouseDown) 
    {_root.TitoloSezione=Titolo}
    e a passargli le variabili nella duplicazione così:
    codice:
    _root.onData = function() 
    {
    	for (i=1; i<NSezioni; i++) 
    	{
    		this["PulsanteSez"].duplicateMovieClip("PulsanteSez"+i, 1000 + i);	
    		this["PulsanteSez" + i]._y = 95 + (35 * i-1);
    		this["PulsanteSez" + i].Titolo = _root["TitoloSez" + i]
    	}
    }
    ma così non stampava niente nella casella di testo...
    allora ho pensato di mettere direttamente l'azione nella duplicazione dell'MC ed ho quindi modificato il codice così

    nell'MC non ho messo niente, nell'as ho scritto così
    codice:
    _root.onData = function() 
    {
    	for (i=1; i<NSezioni; i++) 
    	{
    		this["PulsanteSez"].duplicateMovieClip("PulsanteSez"+i, 1000 + i);	
    		this["PulsanteSez" + i]._y = 95 + (35 * i-1);
    		
    		_root["PulsanteSez" + i].onMouseDown = function()
    		{_root.TitoloSezione=_root["TitoloSez" + i]}	
    	};
    }
    così riesco a stampare nella casella di testo, ma premendo su qualsiasi pulsante mi da' sempre il valore dell'ultimo titolo (in questo caso "PROVA3")... dove sbaglio? E poi, secondo voi, qual è il metodo migliore (o non va' bene nessuno dei due?)
    Shhhhhhhh... N

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    _root["PulsanteSez" + i].num = i
    _root["PulsanteSez" + i].onMouseDown = function()
    {
    	_root.TitoloSezione = _root["TitoloSez" + this.num]
    }

  3. #3
    Originariamente inviato da negatyve
    codice:
    _root["PulsanteSez" + i].num = i
    _root["PulsanteSez" + i].onMouseDown = function()
    {
    	_root.TitoloSezione = _root["TitoloSez" + this.num]
    }
    fatto, ma il risultato è sempre lo stesso

    non capisco perché mi escono tre pulsanti ma cliccandoci sopra danno tutti lo stesso risultato (sempre l'ultimo)
    Shhhhhhhh... N

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Scusa, prova:

    codice:
    _root["PulsanteSez" + i].num = i
    _root["PulsanteSez" + i].onMouseDown = function()
    {
    	trace(this.num)
    }

  5. #5
    ehm... io l'ho pure messo il codice che m'hai dato tu... ma poi come faccio a vedere con che valori si carica la varibile?

    (scusami, ma sono molto molto inesperto di flash)
    Shhhhhhhh... N

  6. #6
    forse ho fatto qualcosa... ho fatto "Controlli"-->"Prova Scena"... e quando clicco sui tre pulsanti mi esce la finestra di output sempre con i stessi valori
    codice:
    2
    1
    0
    Shhhhhhhh... N

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Giusto:

    codice:
    _root["PulsanteSez" + i].num = i
    _root["PulsanteSez" + i].onPress = function()
    {
    	_root.TitoloSezione = _root["TitoloSez" + this.num]
    }

  8. #8
    così funziona, grazie

    che casino 'sto flash.
    Shhhhhhhh... N

  9. #9
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    E di che..

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.