- Home
- Categorie
- Digital Marketing
- Web Marketing e Content
- movie automatica con mouse
- 
							
							
							
							
							
In quel caso ho applicato teorema di Pitagora e trigonometria ad Actionscript. Tu potresti avvicinarti partendo da questo concetto: ti allego il .fla 
 
- 
							
							
							
							
							
Ciao flashcoder... non riesco a scaricare il file....mi dice inesistete... 
 grazie intanto per l'aiuto...già una volta mi avevi aiutato....guarda qui...http://www.giorgiotave.it/forum/viewtopic.php?t=9341&highlight=ronciazoc me la ricarichi? grazie 
 Mappex 
 
- 
							
							
							
							
							
Per Flash 8 oppure MX ? 
 
- 
							
							
							
							
							
Ciao, Flash 8...poi il file lo devo rendere visibile per flashplayer 6...quello che hanno tutti poi ma lilo imposto in pubblicazione... grazie...  
 
- 
							
							
							
							
							
ok clicca [url=http://www.flashcoder.it/test/mappex.zip]qui 
 
- 
							
							
							
							
							
ecco...perfetto...proprio quello che volevo...ora lo studio, lo adatto e poi se ho problemi...naturalmente posto di nuovo qui...  grazie intanto.... 
 
- 
							
							
							
							
							
Ciao flashcoder... ho provato il gioiellino che mi hai passato...tutto perfetto funziona...ora volevo chiederti se si può fare in modo che si fermi ad un certo punto sia che vada a dx o sinistra...ho provato ad estrapolare parte di codice dal primo movie che avevo e l'ho messo come puoi vedere qui sotto ma non funziona.... my_clip.onEnterFrame=function():Void { var x:Number=_xmouse; var dx:Number=Stage.width/2-x; this._x+=dx*friction; } if(clip._x<=-1120) { this.onEnterFrame=null; } if(clip._x>=20) { this.onEnterFrame=null; }o ancora meglio sarebbe se ricominciasse in automatico dal primo "ovale" (come da tuo esempio) il mio mc_test è lungo 1882 quindi non ci sono problemi di continuità.... ti ringrazio ancora per l'aiuto  
 mappex
 
- 
							
							
							
							
							
Metti gli if all'interno dell'onEnterFrame 
 
- 
							
							
							
							
							
Poi con la logica condizionale che hai scritto hai dei problemi perchè non devi mai fermare l'intervallo onEnterFrame. Io userei questa : my_clip.onEnterFrame=function():Void { var x:Number=_xmouse; var dx:Number=Stage.width/2-x; this._x+=dx*friction; if(this._x>Stage.width+this._width/2) { this._x-=dx*friction; } else if(this._x<0-this._width/2) { this._x-=dx*friction; } }
 
- 
							
							
							
							
							
 ...ho provato ad inserire il codice che mi hai dato ma...qualcosa non va...ho settato anche i parametri ma...da una parte si ferma correttamente e dall'altra continua all'infinito... ...ho provato ad inserire il codice che mi hai dato ma...qualcosa non va...ho settato anche i parametri ma...da una parte si ferma correttamente e dall'altra continua all'infinito...my_clip.onEnterFrame=function():Void { var x:Number=_xmouse; var dx:Number=Stage.width/2-x; this._x+=dx*friction; if(this._x<0) { this._x-=dx*friction; } else if(this._x<-1120) { this._x-=dx*friction; } }if(this._x<0) //questo valore non mi permette di muiovere il movie a sx oltre l'inizio dello stage...se lo imposto if(this._x>1120) invece si ferma corretttamente sul lato dx alla fine del movie ma a dx va all'infinito. e per la seconda ipotesi (quella di fare un movie continuato) è più laboriosa? 
 
- 
							
							
							
							
							
La clip che contiene gli ovali deve avere il punto di registrazione al centro e poi il tuo errore adesso è 1120. Quì else if(this._x<-1120) { this._x-=dx*friction; }al posto di 1120 che sarebbe il _width della tua clip gli devi mettere il width/2. Per la seconda ipotesi la cosa diventa più complessa. 
 Cioè se quelle logiche condizionali sono vere allora gli devi dire alla x della clip di tornare ad un punto in modo che l'effetto sia quello di un loop.
 
- 
							
							
							
							
							
chiaro, coinciso, efficace... ora tutto funziona...ho reimpostato il valore di x nel mc_test nella mia clip e tutto funziona.... posto il codice my_clip.onEnterFrame=function():Void { var x:Number=_xmouse; var dx:Number=Stage.width/2-x; this._x+=dx*friction; if(this._x>920) { this._x-=dx*friction; } else if(this._x<-220) { this._x-=dx*friction; } }mi daresti qualche indicazione in più per il loop....grazie per la tua disponibilità.... 
 
- 
							
							
							
							
							
A questo punto lo script diventa così: var my_clip:MovieClip=this.test_mc; var friction:Number=.1; my_clip._x=Stage.width/2; move(); function move():Void { my_clip.onEnterFrame=function():Void { var x:Number=_xmouse; var dx:Number=Stage.width/2-x; this._x+=dx*friction; if(this._x>Stage.width+this._width/2) { this.onEnterFrame=null; this._x=0-this._width/2; reCallMove(); } else if(this._x<=0-this._width/2) { this.onEnterFrame=null; this._x=Stage.width+this._width/2; reCallMove(); } } } function reCallMove():Void { move(); }Te l'ho fatto al volo e funziona, sarebbe da ottimizzare ma non ho molto tempo e penso che comunque potrebbe andar bene per quello che necessiti. 
 
- 
							
							
							
							
							
Perfetto...l'ho caricato al volo e funziona come previsto... ora ci lavoro per settarlo correttamente sui miei parametri... grazie ancora.... 