Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Scrolling MC decelerato su Y + pulsanti

This is a discussion on Scrolling MC decelerato su Y + pulsanti within the Utilità degli utenti di FlepStudio forums, part of the Articoli e tutorials category; Ciao a tutti beh c'è voluta quasi tutta la giornata ma lo scroll è finito :-) inevitabile dire che ho preso diversi ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials > Utilità degli utenti di FlepStudio

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 09-08-07, 22:23
Senior Member
 
Join Date: Jan 1970
Posts: 157
Rep Power: 39
mariano.martucci is on a distinguished road
Scrolling MC decelerato su Y + pulsanti

Ciao a tutti

beh c'è voluta quasi tutta la giornata ma lo scroll è finito :-)
inevitabile dire che ho preso diversi spunti dai tutorial di flep :-)

ecco il risultato

ScrollY

file zip al link
ScrollY.zip

il file è da considerare come studio quindi se notate orrori sarei contento di eventuali notifiche
ehehehehehe

ah dimenticavo all'interno della classe vi è una var pubblica
attivo_blur:Boolean
che se valorizzata a true lo scroll avviene con effetto blur

di seguito il codice per una visione di tutta la comunità

ciao a tutti e buono studio ;-)


Code:
package
{
	import flash.display.MovieClip
	import flash.events.*;
	import flash.geom.Rectangle;	
	import flash.filters.BitmapFilterQuality;
	import flash.filters.BlurFilter;
	

	public class ScrollY extends MovieClip
	{
		public var mc_root:MovieClip;
		public var mc_cursore:MovieClip;
		public var mc_barra:MovieClip;
		public var mc_scroll:MovieClip;
		public var mc_maschera:MovieClip;
		public var btn_scroll_up:MovieClip;
		public var btn_scroll_down:MovieClip;		
		
		public var tolleranza_y:int;	
		public var speed:int;
		public var passo_scroll:int;
		
		public var attivo_blur:Boolean;

		private var blur:BlurFilter = new BlurFilter();
		private var my_rect:Rectangle;
		private var offSet:Number;
		private var posy_mc_scroll:Number;
		

		
		//costruttore
		public function ScrollY()
		{
			stage.frameRate=40;

			mc_root=this;
			mc_scroll=mc_scrolling;
			mc_cursore=cursore;
			mc_barra=barra;
			mc_maschera=maschera;
			posy_mc_scroll=mc_barra.y;
			
			btn_scroll_up=btn_up;
			btn_scroll_down=btn_down;			
			
			tolleranza_y=10;
			speed=9;
			passo_scroll=15;
			
			attivo_blur=false;
			
			init();
		}
		
		//inizializzazione
		public function init():void
		{
			mc_cursore.y=mc_barra.y
			mc_cursore.x=mc_barra.x;
			mc_cursore.buttonMode=true;
			mc_cursore.useHandCursor=true;
			
			mc_cursore.buttonMode=btn_scroll_up.buttonMode=btn_scroll_down.buttonMode=true;
			mc_cursore.useHandCursor=btn_scroll_up.useHandCursor=btn_scroll_down.useHandCursor=true;
			
			mc_maschera.y=mc_scroll.y
			
			mc_scroll.mask=mc_maschera;
			
			rettangolo()
			initListener()
		}
		
		
		
		//inizializzazione listener
		private function initListener()
		{
			mc_cursore.addEventListener(MouseEvent.MOUSE_DOWN,start_drag)
			
			btn_scroll_up.addEventListener(MouseEvent.MOUSE_DOWN,scroll_up)
			btn_scroll_down.addEventListener(MouseEvent.MOUSE_DOWN,scroll_down)
			
			stage.addEventListener(MouseEvent.MOUSE_UP,stop_drag);
		}

		
		//scroll up x btn up
		private function scroll_up(e:Event)
		{
			if(mc_cursore.y>mc_barra.y)
			{
				if(mc_cursore.y-passo_scroll>mc_barra.y)
				{
					mc_cursore.y-=passo_scroll
					mc_scroll.addEventListener(Event.ENTER_FRAME,scrolla);
				}
				else
				{
					mc_cursore.y=mc_barra.y;					
				}
			}
		}
		
		//scroll down x btn down
		private function scroll_down(e:Event)
		{
			if(mc_cursore.y<mc_barra.y+mc_barra.height-mc_cursore.height)
			{
				if(mc_cursore.y+passo_scroll<mc_barra.y+mc_barra.height-mc_cursore.height)
				{
					mc_cursore.y+=passo_scroll
					mc_scroll.addEventListener(Event.ENTER_FRAME,scrolla);
				}
				else
				{
					mc_cursore.y=mc_barra.y+mc_barra.height-mc_cursore.height;	
				}
			}
		}

		//start drag x mouse_down su mc_cursore
		private function start_drag(e:Event)
		{
			mc_cursore.down=true;
			
			mc_cursore.startDrag(true,my_rect)
			mc_scroll.addEventListener(Event.ENTER_FRAME,scrolla);
		}
		
		//stop drag x mouse_up su mc_cursore
		private function stop_drag(e:Event)
		{
			mc_cursore.down=false;
			mc_cursore.stopDrag()
		}
		
		//scrolla mc_scroll
		private function scrolla(e:Event)
		{
			var perc_cursore:Number=( (mc_cursore.y-posy_mc_scroll) *100)/ (mc_barra.height-mc_cursore.height);
			var pf:Number=mc_maschera.y+ ((perc_cursore* (-mc_scroll.height+ mc_maschera.height-tolleranza_y) ) /100)
			pf=Math.floor(pf)
			
			mc_scroll.y+=(pf-mc_scroll.y)/speed
			if(Math.abs(pf-mc_scroll.y)<0.8 && mc_cursore.down==false)
			{
				mc_scroll.removeEventListener(Event.ENTER_FRAME,scrolla);
			}

			if(attivo_blur==true)
			{
				var delta_blur:int=Math.floor(Math.abs (pf-mc_scroll.y));
				blur_scroll(delta_blur);
			}

		}
		
		//blur  mc scroll su scrolla
		private function blur_scroll(delta_blurx:int)
		{

			var blur_val:int;
			if(delta_blurx<2 ){blur_val=0}
			if(delta_blurx>2 && delta_blurx<35){blur_val=2}
			if(delta_blurx>35 && delta_blurx<60){blur_val=4}
			if(delta_blurx>60){blur_val=8}			

			
			blur.blurY = blur_val;
			blur.blurX = blur_val;
			blur.quality = BitmapFilterQuality.MEDIUM;
			mc_scroll.filters = [blur];

		}
		
		//creazione rettangolo x drag
		private function rettangolo()
		{
			offSet=mc_barra.height-mc_cursore.height;
			my_rect=new Rectangle(mc_barra.x+1,mc_barra.y,0,offSet);
		}
		
		
	}
}
__________________
"Secondo studi ingegneristi, il calabrone , a causa della forma e del peso del proprio corpo in rapporto alla superficie alare non può volare. Ma il calabrone non lo sa e perciò continua a volare." (I. Sikorsky)

Last edited by mariano.martucci; 09-08-07 at 22:35..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 09-08-07, 22:47
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Bel lavoro Mariano :)
La scroll è bella ed è una di quelle cose che torna sempre utile.

Lascio il tuo file in allegato così rimarrà negli archivi del forum ;)
Attached Files
File Type: zip ScrollY.zip (14.8 KB, 15 views)


Last edited by Flep; 13-05-08 at 20:04..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 10-08-07, 09:14
Senior Member
 
Join Date: Jan 1970
Posts: 157
Rep Power: 39
mariano.martucci is on a distinguished road
:):)
__________________
"Secondo studi ingegneristi, il calabrone , a causa della forma e del peso del proprio corpo in rapporto alla superficie alare non può volare. Ma il calabrone non lo sa e perciò continua a volare." (I. Sikorsky)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #4 (permalink)  
Old 10-08-07, 09:22
tem's Avatar
tem tem is offline
Moderator
 
Join Date: Jan 1970
Posts: 455
Rep Power: 39
tem is on a distinguished road
Grande Mariano!!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 10-08-07, 23:47
Senior Member
 
Join Date: Jul 2007
Posts: 104
Rep Power: 2
manTiz is on a distinguished road
Send a message via MSN to manTiz Send a message via Skype™ to manTiz
ja, thx to share
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Flash Multi Gallery
Reply

Bookmarks

« - | Menu Xml »
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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Flash CS3 scrolling automatico del testo mey78 Actionscript 3.0 base 1 01-10-08 14:42
Scrolling takashi86 Actionscript 3.0 base 1 06-06-08 10:03
aiuto pulsanti neo4all2002 Flash CS3 generale 11 10-03-08 18:53
ancora pulsanti mitch77 Flash CS3 generale 15 02-03-08 18:20
Pulsanti e azioni Jeman Actionscript 3.0 base 2 01-03-08 08:29


All times are GMT. The time now is 22:01.


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