Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529

    [mx2004]Moto elastico su Clip

    Ciao a tutti!

    A servirebbe la necessita di creare un effeto del genere su un Mc:

    Esempio

    Ho provato però non riesco avenirne a capo...
    Avete qualche dritta o consiglio da darmi?

    grazie in anticipo a tutti
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  2. #2
    questo dovrebbe esserti utile. e' sul sito di Rempox

    rempox

    ciao
    -Nextart.it Graphic Solutions

  3. #3
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    ciao e grazie dell'esempio!

    Si questo può andare, però mi interessava sapere come posso fare per far in modo che se il mouse al RollOver se si sposta troppo fuori il clip si stacca da solo e torna al punto di partenza!

    Help me
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  4. #4
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    In teoria li è stato usato un component..però volevo sapere se l'effetto della pallina che si stacca dal mouse da sola sipuò fare in un'altra maniera..!
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Aran
    In teoria li è stato usato un component..però volevo sapere se l'effetto della pallina che si stacca dal mouse da sola sipuò fare in un'altra maniera..!
    a prima vista basta un'azione di controllo con un listener, che all "aggancio" del clip, ne blocchi le coordinate al centro, poi che abbia un distacco decrementale rispetto a _xmouse e _ymouse riferite al clip, e quando poi la verifica di "rollover" diventa false, parta una proto che simuli l'effetto elastico o decelerato, a scelta

    in codice? mi manca la parte in rosso e ora non ho tempo di scriverla, il resto è
    codice:
    MovieClip.prototype.myTween = function(clip, xArr, yArr, frames){
    	clip.xArr = Math.floor(xArr);
    	clip.yArr = Math.floor(yArr);
    	clip.frames = Number(frames);
    	this.onEnterFrame = function(){
    		if(Math.floor(clip._x) != clip.xArr && Math.floor(clip._y) != clip.yArr){
    			xspost = (clip.xArr-clip._x)/frames;
    			yspost = (clip.yArr-clip._y)/frames;
    			clip._x += xspost;
    			clip._y += yspost;
    		} else {
    			delete this.onEnterFrame;
    			clip._x = clip.xArr;
    			clip._y = clip.yArr;
    		}
    	}
    }
    var xiniziale = mc_palla._x;
    var yiniziale = mc_palla._y;
    var verifica = new Object();
    verifica.onMouseMove = function(){
    	if(mc_palla.hitTest(_root._xmouse, _root._ymouse)){
    		//qui le azioni per il "rollover decrementale"
    	} else {
    		_root.mc_palla.myTween(_root.mc_palla, xiniziale, yiniziale, .56);
    	}
    
    }
    Mouse.addListener(verifica);

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    oops, errorino...


    [edit] ora è ok, credo
    codice:
    MovieClip.prototype.myTween = function(clip, xArr, yArr, frames){
    	clip.xArr = Math.floor(xArr);
    	clip.yArr = Math.floor(yArr);
    	clip.frames = Number(frames);
    	this.onEnterFrame = function(){
    		if(Math.floor(clip._x) != clip.xArr && Math.floor(clip._y) != clip.yArr){
    			xspost = (clip.xArr-clip._x)/frames;
    			yspost = (clip.yArr-clip._y)/frames;
    			clip._x += xspost;
    			clip._y += yspost;
    		} else {
    			delete this.onEnterFrame;
    			clip._x = clip.xArr;
    			clip._y = clip.yArr;
    		}
    	}
    }
    var xiniziale = mc_palla._x;
    var yiniziale = mc_palla._y;
    var const = .3;
    var verifica = new Object();
    verifica.onMouseMove = function(){
    	if(mc_palla.hitTest(_root._xmouse, _root._ymouse)){
    		_root._xmouse = _root.xiniziale;
    		_root._ymouse = _root.yiniziale;
    		_root.mc_palla._x = (_root.mcpalla._xmouse-_root.mc_palla._x)+_root.const;
    		_root.mc_palla._y = (_root.mcpalla._ymouse-_root.mc_palla._y)+_root.const;
    
    	} else {
    		_root.mc_palla.myTween(_root.mc_palla, _root.xiniziale, _root.yiniziale, .56);
    	}
    
    }
    Mouse.addListener(verifica);

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ovviamente non funziona

    ho fatto un paio di prove, questo è quello che ne è scaturito
    link

    come si può notare, ci sono ancora problemi nel "calcolo della posizione rispetto al movimento del mouse, quando ho un po' di tempo cercherò di migliorare il tutto, per il momento il codice usato in questa prova è
    codice:
    MovieClip.prototype.myTween = function(clip, xArr, yArr, frames) {
    	clip.xArr = Math.floor(xArr);
    	clip.yArr = Math.floor(yArr);
    	clip.frames = Number(frames);
    	this.onEnterFrame = function() {
    		if (Math.floor(clip._x) != clip.xArr && Math.floor(clip._y) != clip.yArr) {
    			xspost = (clip.xArr-clip._x)/clip.frames;
    			yspost = (clip.yArr-clip._y)/clip.frames;
    			clip._x += xspost;
    			clip._y += yspost;
    		} else {
    			delete this.onEnterFrame;
    			clip._x = clip.xArr;
    			clip._y = clip.yArr;
    		}
    	};
    };
    var xiniziale = mc_palla._x;
    var yiniziale = mc_palla._y;
    var variab = 0;
    var verifica = new Object();
    verifica.onMouseMove = function() {
    	if (_root.mc_palla.hitTest(_root._xmouse, _root._ymouse)) {
    		_root.variab += .3;
    		if (_root._xmouse>=_root.mc_palla._x) {
    			_root.mc_palla._x = _root._xmouse-_root.variab;
    		} else {
    			_root.mc_palla._x = _root._xmouse+_root.variab;
    		}
    		if (_root._ymouse>=_root.mc_palla._y) {
    			_root.mc_palla._y = _root._ymouse-_root.variab;
    		} else {
    			_root.mc_palla._y = _root._ymouse+_root.variab;
    		}
    	} else {
    		_root.variab = 0;
    		_root.mc_palla.myTween(_root.mc_palla, _root.xiniziale, _root.yiniziale, .56);
    	}
    };
    Mouse.addListener(verifica);

  8. #8
    Utente di HTML.it L'avatar di Aran
    Registrato dal
    Nov 2002
    Messaggi
    1,529
    Ciao and80!!

    Grandissimo, bel lavoro che sei riuscito a fare!

    In effetti xè qualche problema quando vado con il mouse sull'oggetto...proverò ank0io a darci un'occhio!

    Se hai qulcha news fammi sapere o ti faccio sapere!

    Intanto grazie ankora, e bravo complimenti
    Mi diceva sempre: "Mai mangiare a stomaco vuoto..."

    Frank Cianuro - Aeroplane - Aran Blog - No Spez la Catena.

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.