Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

startDrag controllato con Flash CS3

This is a discussion on startDrag controllato con Flash CS3 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Eccoci ad un altro piccolo cambiamento avvenuto tra Actionscript 2.0 ed Actionscript 3.0 . Il metodo startDrag della classe ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 19-09-07, 14:31
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
startDrag controllato con Flash CS3

Eccoci ad un altro piccolo cambiamento avvenuto tra Actionscript 2.0 ed Actionscript 3.0 .
Il metodo startDrag della classe MovieClip è stato ( a mio parere ) migliorato significativamente e senza apportare grandi cambiamenti.
Ecco cosa è cambiato...

Con Actionscript 2.0, si poteva controllare il trascinamento di una MovieClip utilizzando appunto il metodo startDrag che voleva 5 parametri :
- lock center: true o false, specifica mentre la MovieClip viene draggata se il suo centro è il centro del Mouse ( true ) oppure se il centro è il punto dove l'utente esegue il click ( false ).
- left: massimo punto a sinistra di trascinamento
- top: massimo punto in alto di trascinamento
- right: massimo punto destro di trascinamento
- bottom: massimo punto in basso di trascinamento

Con Actionscript 3.0, il trascinamento della MovieClip viene controllato passando una istanza della Classe Rectangle al nostro metodo startDrag, quindi adesso il metodo stesso accetta solo 2 parametri:
- lock center: uguale ad Actionscript 2.0
- bounds: istanza della Classe Rectangle

Per utilizzare il parametro bounds basta creare un rettangolo virtuale ricordandosi che bastano 4 semplici parametri per creare un oggetto Rectangle e cioè:
- x: la coordinata x da dove parte il rettangolo
- y: la coordinata y da dove parte il rettangolo
- width: la larghezza del rettangolo
- height: l' altezza del rettangolo

Quindi, come si può vedere dalla classe che ho scritto:
Code:
package
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	
	public class Controllo extends MovieClip
	{
		private var rect:Rectangle;
		
		public function Controllo()
		{
			init();
		}
		
		private function init():void
		{
			stage.frameRate=31;
			
			ball_mc.x=sfondo_mc.x;
			ball_mc.y=sfondo_mc.y;
			ball_mc.buttonMode=true;
			
			initRectangle();
			initListener();
		}
		
		private function initRectangle():void
		{
			rect=new Rectangle(sfondo_mc.x-sfondo_mc.width/2+ball_mc.width/2,
							   sfondo_mc.y-sfondo_mc.height/2+ball_mc.height/2,
							   sfondo_mc.width-ball_mc.width,
							   sfondo_mc.height-ball_mc.height);
		}
		
		private function initListener():void
		{
			ball_mc.addEventListener(MouseEvent.MOUSE_DOWN,iniziaDrag);
			stage.addEventListener(MouseEvent.MOUSE_UP,stoppaDrag);
		}
		
		private function iniziaDrag(e:MouseEvent):void
		{
			ball_mc.startDrag(false,rect);
		}
		private function stoppaDrag(e:MouseEvent):void
		{
			ball_mc.stopDrag();
		}
	}
}
Risultato:










In questo caso, invece di creare una sorta di rettangolo virtuale con nuove coordinate, ho passato al metodo startDrag le coordinate di sfondo_mc.

Stay tuned !
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript 3 startDrag,stopDrag etr102108 Actionscript 3.0 base 1 29-06-08 20:48
StartDrag multiplo lorenzz Flash CS3 generale 5 08-02-08 22:36
Mondo 3d controllato dal mouse.. come hanno fatto? edo_flash Off Topic - Libera la mente 3 05-11-07 06:39
StartDrag with Flash CS3 - Actionscript 3.0 Flep Tutorials 0 09-10-07 19:27
startDrag() StefanoV Actionscript 3.0 avanzato 2 06-10-07 19:25


All times are GMT. The time now is 11:34.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406