Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Effetto accelerazione con Flash CS3

This is a discussion on Effetto accelerazione con Flash CS3 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; zzzzzzzzUP... Abbiamo visto in precedenza nell' articolo inerzia con Actionscript 3.0 come creare un effetto spostamento da veloce a ...


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 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 19-09-07, 15:03
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Effetto accelerazione con Flash CS3

zzzzzzzzUP...
Abbiamo visto in precedenza nell' articolo inerzia con Actionscript 3.0 come creare un effetto spostamento da veloce a lento.

Ora vorrei mostrare come ottenere l'effetto contrario e cioè un oggetto parte lento e accellera sempre di più fino ad arrivare al punto desiderato.

Ecco come fare...
Creo un FLA che salvo con nome ' accelerazione.fla' .

Creo la Document Class, un file AS che salvo con nome ' Accelerazione.as ', implementata in questo modo:
Code:
package 
{
	import flash.display.Sprite;
	import flash.display.SimpleButton;
	import flash.events.Event;
	import flash.events.MouseEvent;
    
	public class Accelerazione extends Sprite 
	{
		private var sprite:Sprite;
		private var arrivo:int=520;
		private var accelerazioneX:Number=.4;
		private var velocitaX:Number=0;
        
		public function Accelerazione() 
		{
			stage.frameRate=31;
			
			disegnaSprite();
            initSpriteListener();
			initButtonListener();
		}
		
		private function disegnaSprite():void
		{
			sprite=new Sprite();
			sprite.graphics.beginFill(0x666666,100);
			sprite.graphics.drawCircle(0,0,25);
			sprite.graphics.endFill();
			sprite.x=50;
			sprite.y=100;
			addChild(sprite);
		}
		
		private function initSpriteListener():void
		{
			sprite.addEventListener(Event.ENTER_FRAME,muoviSprite);
		}
		private function initButtonListener():void
		{
			riprova_btn.addEventListener(MouseEvent.MOUSE_DOWN,rifai);
		}
        
		private function muoviSprite(e:Event):void 
		{
			velocitaX+=accelerazioneX;
			sprite.x+=velocitaX;
			if(sprite.x>=arrivo)
			{
				sprite.x=arrivo;
				sprite.removeEventListener(Event.ENTER_FRAME,muoviSprite);
			}
		}
		
		private function rifai(m:MouseEvent):void
		{
			sprite.removeEventListener(Event.ENTER_FRAME,muoviSprite);
			sprite.x=50;
			sprite.y=100;
			velocitaX=0;
			initSpriteListener();
		}
	}    
}
Analizzando il codice utilizzato,
si può notare che dichiaro una variabile accelerazione ed una velocità.
La variabile accelerazione è un numero costante mentre la velocità viene impostata a zero, aumentata sotto intervallo del valore di accelerazione e poi ' data in pasto ' alla x della sprite.
Il codice sembra corposo in quanto ho utilizzato anche un bottone per poter fare il replay.


Risultato:










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

  #2 (permalink)  
Old 21-04-08, 19:05
Zolmandacuba's Avatar
Member
 
Join Date: Apr 2008
Posts: 60
Rep Power: 1
Zolmandacuba is on a distinguished road
Send a message via Skype™ to Zolmandacuba
Re: Effetto accelerazione con Flash CS3

ciao flep scusa, non capisco cosa ti dia l'effetto accelerazione, ed hai anche ragione perchè l'ho provato e funziona ovviamente.


velocitaX+=accelerazioneX;
sprite.x+=velocitaX;

in base a questi valori non dovrebbe assumere una velocita costante? mi spiego:

velocitaX=0 + 0.4
sprite.x= 0.4

poi velocitàX=0.4 + 0.4
aprite.x=0.8

e cosi via

in pratica non dovrebbe aumentare di 0.4 ogni volta assumendo quindi velocità costante sino alla x di arrivo?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 21-04-08, 19:10
Zolmandacuba's Avatar
Member
 
Join Date: Apr 2008
Posts: 60
Rep Power: 1
Zolmandacuba is on a distinguished road
Send a message via Skype™ to Zolmandacuba
Re: Effetto accelerazione con Flash CS3

mi autorispondo in 2 secondi: naturalmente ho copiato il tuo script male quando ho fatto le prove sul pc, infatti guarda come ho dovuto trasformarlo per avere lo stesso tuo effetto:

velocitaX+=accelerazioneX;
cerchio.x=velocitaX;
accelerazioneX=accelerazioneX+0.1;

non mi ero accorto del "+" nella tua seconda riga di codice, che in relaltà è:

cerchio.x+=velocitaX;
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
Effetto acqua con Flash CS3 Flep Articoli e tutorials 6 20-10-08 16:25
Accelerazione angolare e spinta Flep Articoli e tutorials 0 02-10-08 04:56
Effetto in flash charangparm Flash CS3 Design 2 27-02-08 19:17
Effetto neve Flash CS3 DMan Utilità degli utenti di FlepStudio 8 16-12-07 17:37
Effetto flash manTiz Actionscript 3.0 base 4 24-07-07 00:44


All times are GMT. The time now is 10:52.


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