Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [mx] sepentone in loop, problema di actionscript

    Salve,

    ho un filmato di dimensioni 788*40
    in cui c'è un "serpentone" contenente testo e immagini linkati.

    Ho questo As
    codice:
    hebi.onEnterFrame = function () {
    	this._x -=2.5;
    	if (this._x <= -1230) {
    		this._x = 790.0;
    	}
    }
    che lo manda in loop, e quando esce fuori dell'area visibile dallo schermo, lo risposto al punto di origine e riparte a scrollare orizzontalmente (sn <- dx).

    Il problema è che vorrei duplicarlo e far partire il secondo quando il primo è a metà del suo percorso. Come è possibile farlo senza complicarmi troppo la vita?
    Anche se lo duplico (e duplico anche tutte le azioni di getURL associati), quando il secondo raggiungerà metà dello schermo dovrebbe ripartire il primo... e così via.

    Problema n.2:
    Ho un array di link e ho questo codice che prende il link e lo associa al bottone relativo ma non so per quale motivo non funziona:
    codice:
    for (i=0; i<link.length; i++) {
    	_root.hebi["b"+i].onRelease = function () {
    		trace(link[i]);
    		getURL(link[i], "_blank");
    	}
    }
    link è il nome dell'array;
    il for funziona;
    hebi è il nome del serpentone;
    b0, b1, b2, b3 sono i nomi dei bottoni;
    l'onRelease sui bottoni funziona;
    il trace(link[i]); e getURL(link[i], "_blank"); non funziona.
    in pratica -> link[i] all'interno dell' onRelease si perde. Come mai?

    :master: :master: :master:
    わさび

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    se non ho capito male il tuo problema...puoi fare in questo modo:

    sullo stage hai il livello action e il livello che contiene hebi.
    sul livello action metti:
    codice:
    _global.link = new Array("http://link1", "http://link2", "http://link3")
    
    hebi.onEnterFrame = function () {
    	this._x -=2.5;
    	if (this._x <= -1230) {
    		this._x = 790.0;
    	}
    	if ((this._x > 392) & (this._x < 394)) {
    		duplicateMovieClip("hebi", "hebinuovo", 1)
    		_root.hebinuovo._x = Stage.width;
    		_root.hebinuovo.onEnterFrame = function () {
    			this._x -=2.5;
    			if (this._x <= -1230) {
    				this._x = 790.0;
    			}
    		}
    	}
    }
    a questo punto clicca 2 volte su hebi e dentro metti un bottone 'b'.
    aggiungi un livello di action e scrivi:
    codice:
    for (i=0; i<link.length; i++) {
    	duplicateMovieClip("b","b"+i,i+1);
    	_root.hebi.b._visible = false;
    	_root.hebinuovo.b._visible = false;
    	_root.hebi["b"+i]._x = (i * _root.hebi["b"+i]._width)+ _root.hebi.b._x;
    	_root.hebinuovo["b"+i]._x = (i * _root.hebinuovo["b"+i]._width)+ _root.hebinuovo.b._x;
    	
    	_root.hebi["b"+i].onRelease = function () {
    		nomeb = substring(this._name,2,1)
    		getURL(link[nomeb], "_blank");
    	}
    	_root.hebinuovo["b"+i].onRelease = function () {
    		nomeb = substring(this._name,2,1)
    		getURL(link[nomeb], "_blank");
    	}
    }
    in questo modo duplichi il bottone tante volte quanti sono gli elementi di dell'array link.

    apero vada tutto bene

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Ciao mic, e grazie per la disponibilità

    Ho provato il tuo script (inserendo anche come parametri quelli relativi al mio caso):
    codice:
    hebi.onEnterFrame = function () {
    	this._x -=2.5;
    	if (this._x <= -1230) {
    		this._x = 790.0;
    	}
    	if ((this._x > 998) & (this._x < 1000)) {
    		duplicateMovieClip("hebi", "hebinuovo", 1)
    		_root.hebinuovo._x = 790.0; _root.hebinuovo._y = 0;
    		_root.hebinuovo.onEnterFrame = function () {
    			this._x -=2.5;
    			if (this._x <= -1230) {
    				this._x = 790.0;
    			}
    		}
    	}
    }
    ma non ha funzionato il duplicate...

    inoltre la seconda parte del codice sembra che mi abbia nascosto i bottoni...

    problema un po' complesso :master:
    comunque grazie
    わさび

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    io l'ho provato direttamente in flash e mi funziona, magari abbiamo il filmato fatto in modo diverso

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da mic
    io l'ho provato direttamente in flash e mi funziona, magari abbiamo il filmato fatto in modo diverso
    hmm

    ora mi spremo un po' le meningi e poi al limite ti faccio sapere,
    grazie
    わさび

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    come vuoi. al max ti mando l'swf e mi dici se è come volevi tu. magari ho capito roma per toma


  7. #7
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da mic
    come vuoi. al max ti mando l'swf e mi dici se è come volevi tu. magari ho capito roma per toma

    Te ne sarei molto grato,
    ti mando un pm
    わさび

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.