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

    divisione in proporzioni di una lunghezza

    ciao a tutti...
    ho questo problemino.
    Ho un barra draggabile in _x fra 0 e 654.
    Fra 0 e 654 vorrei avere 10 sezioni differenti: tipo da 0 a 65, da 65 a 130 ecc....
    Quando l'utente molla la barra vorrei calcolare in che posizione, fra i 10 intervalli, la ha mollata, cosi da fare l'animazione e riportarla nella posizione perfettamente.
    grazie mille!!

  2. #2
    non so se ho capito bene :master:
    ma se vuoi che la tua barra torni nella posizione iniziale quando l'utente rilascia il mouse, allora prova ad applicare questa proto:

    codice:
    //Prototype sposta
    MovieClip.prototype.sposta = function(endX, speed) {
    	this.onEnterFrame = function() {
    		var offset = 0.5;
    		var rx = Math.abs(endX-this._x);
    		//Muovo il mc finche nn raggiunge la sua posizione finale
    		if (!(rx<=offset)) {
    			var dx = rx/speed;
    			(this._x<endX) ? this._x += dx : this._x -= dx;
    		} else {
    			//A spostamento completato elimino l'enterframe
    			delete this.onEnterFrame;
    		}
    	};
    };
    ovviamente la richiami al release del mouse:

    codice:
    mioClip.sposta(endX, speed)
    Lorenza

  3. #3
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816

    Re: divisione in proporzioni di una lunghezza

    Originariamente inviato da zoc
    ciao a tutti...
    ho questo problemino.
    Ho un barra draggabile in _x fra 0 e 654.
    Fra 0 e 654 vorrei avere 10 sezioni differenti: tipo da 0 a 65, da 65 a 130 ecc....
    Quando l'utente molla la barra vorrei calcolare in che posizione, fra i 10 intervalli, la ha mollata, cosi da fare l'animazione e riportarla nella posizione perfettamente.
    grazie mille!!
    Prova così [mc è il nome istanza della tua barra]:

    codice:
    MovieClip.prototype.sposta = function(targetX) {
    	this.onEnterFrame = function() {
    		this._x = this._x+(targetX-this._x)/4;
    		if (Math.abs(targetX-this._x)<0.4) {
    			this._x = targetx;
    			delete this.onEnterFrame;
    		}
    	};
    };
    var xIniziale:Number = 50; //inserisci la coordinata dove vuoi posizionare inizialmente la barra
    mc._x = xIniziale;
    mc.onPress = function() {
    	this.startDrag(false, 0, this._y, 654, this._y);
    }
    mc.onRelease = mc.onReleaseOutside = function() {
    	this.stopDrag();
    	this.sposta(xIniziale);
    }

  4. #4
    grazie mille ragazzi,
    siete gentilissimi!

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.