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

    spostamento e ingrandimento

    Ciao ho un problema,
    ho una foto che si sposta e si ingrandisce tramite programmazione, cliccando su un pulsante.
    Questo è quello che ho messo sul Movieclip (home) della foto principale:
    onClipEvent (load) {
    nx = this._x;
    ny = this._y;
    nxs = this._xscale;
    nys = this._yscale;
    }
    onClipEvent (enterFrame) {
    this._x += (nx-this._x)/5;
    this._y += (ny-this._y)/5;
    this._xscale += (nxs-this._xscale)/5;
    this._yscale += (nys-this._yscale)/5;
    }
    poi sul pulsante assegno le varie variabili:
    on (release) {
    page = foto01;
    home.nx = -1300;
    home.ny = -100;
    home.nxs = 600;
    home.nys = 600;
    }
    il problema sta nel fatto che nel momento in cui la foto ha compiuto il suo dovere dovrebbe far apparire (_visible = true) un'altro movieclip (foto01).

    Domanda:
    Come faccio a verificare che la foto abbia fatto quello spostamento e quell'ingrandimento, cosi da poter mettere una condizione???
    Avendo più pulsanti ho anche più mc secondari che dovrebbero apparire una volta che quello principale a finito...ovviamente a seconda del pulsante premuto dovrà anche verificare la variabile (page) del pulsante.

    Che fatica spiegare questa cosa, spero di essere stato chiaro.

    Grazie
    Ciao

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    onClipEvent (enterFrame) {
    	var hs = (nx - this._x) / 5;
    	var vs = (ny - this._y) / 5;
    	var xs = (nxs - this._xscale) / 5;
    	var ys = (nys - this._yscale) / 5;
    	this._x += hs;
    	this._y += vs;
    	this._xscale += xs;
    	this._yscale += ys;
    	if(Math.abs(hs < 0.5) && Math.abs(vs < 0.5) && Math.abs(xs < 0.5) && Math.abs(ys < 0.5)){
    		this._x = nx;
    		this._y = ny;
    		this._xscale = nxs;
    		this._yscale = nys;
    		trace("finito");
    	}
    }

  3. #3
    Ti ringrazio.

    Ma non capisco cosa devo cambiare.

    Metto il tuo al posto del mio, mantenedo quello che c'è nel load.
    dove metto il mio foto01._visible = true; ???
    e 0.5 per cosa sta???

    o più semplicemente vorrei che quel trace uscisse solo se il posizionamento e ingrandimento a quelle coordinate fosse finito.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Se non sbaglio Negatyve, utilizzando il Math.abs, converte i valori di scalatura e spostamento in valori sempre positivi (es se la _x è -1300 diventa 1300).
    Così facendo può controllare che tali valori siano vicini allo zero (inferiori a 0.5). Lo 0.5 infatti indica la differenza tra le nuove coordinate di spostamento (o scala) e quelle vecchie.
    In altre parole se imposto le nuove _x a 400 e le attuali sono a 300, la differenza tra le due è 100, al passaggio successivo saranno meno (perchè nel frattempo il MC si sposta) fino a quando saranno inferiori a 0.5, a questo punto il nuovo MC potrà comparire.

    Lo script di Negatyve funziona, solo che inizialmente trova già la differenza tra i due valori inferiore a 0.5 quindi ti "traccia" fin da subito la scritta "finito".
    Potresti modificarla così:

    Sul MC lasci quello che avevi prima, senza aggiungere altro.
    Sul frame della timeline utilizzi il codice di Negatyve in questo modo:

    codice:
    function verifica() {
    	onEnterFrame = function () {
    		var hs = (home.nx-home._x)/5;
    		var vs = (home.ny-home._y)/5;
    		var xs = (home.nxs-home._xscale)/5;
    		var ys = (home.nys-home._yscale)/5;
    		if (Math.abs(hs<0.5) && Math.abs(vs<0.5) && Math.abs(xs<0.5) && Math.abs(ys<0.5)) {
    			trace("finito");
    			delete (onEnterFrame);
    		}
    	};
    }

    sul tasto che avvia lo spostamento del MC:

    codice:
    on (release) {
    page = foto01;
    home.nx = -1300;
    home.ny = -100;
    home.nxs = 600;
    home.nys = 600;
    _root.verifica()
    }





  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    dimenticavo...

    il foto01._visible=true lo metti al posto del trace



  6. #6
    Intanto ti ringrazio sulla fiduca, come ti ho già detto mi si è sputtanato il portatite e il desk contemporaneamente, uno è la scheda grafica (2 settimane di stop) e l'altro, possa mori ammazzato, è l'harddisk.
    Appena riesco a provarlo ti faccio sapere.

    ciao
    Grazie.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Originariamente inviato da harpox
    ...mi si è sputtanato il portatite e il desk contemporaneamente, uno è la scheda grafica (2 settimane di stop) e l'altro, possa mori ammazzato, è l'harddisk.
    ...

    Sei ancora convinto che convenga comprare i pc al supermercato o in internet? Dubito che sia solo sfiga....2 pc su 2, è statistica, non è sfiga.
    Comunque spero per te che torni al più presto, io senza pc mi sento "mutilato"

    Ciao

  8. #8
    il desk a fatto 4 anni senza nessun problema.
    il portatile ne a fatti 2 e l'unica cosa che ti concedo è che non è una gran marca, ma era l'occasione di spendere quei 350 euri in meno che allora mi avevano attirato.
    Dipende dalle occasioni...

    e poi il tuo "comprato in casa" (i 350 euri tu li hai risparmiati per quello) non mi sembra che sia sempre stato sanissimo...e ce l'hai da poco!!

    Ne riparleremo quando dovrai rifarti il pavimento di marmo....

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.