Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Come usare bottoni e suoni con Flash CS3

This is a discussion on Come usare bottoni e suoni con Flash CS3 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Anche il metodo attachSound di Actionscript 2.0 è stato rimosso. Sostanzialmente lavorava come il metodo ' cugino ' attachMovie, cioè si assegnava ...


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 20-09-07, 13:47
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Come usare bottoni e suoni con Flash CS3

Anche il metodo attachSound di Actionscript 2.0 è stato rimosso.
Sostanzialmente lavorava come il metodo ' cugino ' attachMovie, cioè si assegnava un identificatore ad un file audio in libreria e con attachSound veniva ' attaccato ' allo stage in runtime e riprodotto.
Adesso per ' attaccare ' un sound e quindi riprodurlo necessitiamo di assegnare un classe come identificatore nel file audio in libreria.
Con quasto articolo vedremo come assegnare dei suoni ad un bottone.
Tengo a precisare che il metodo classico di aprira il bottone ed inserire un audio in ogni stato del bottone è ancora validissimo, ma dato che FlepStudio si occupa di programmazione Flash, mi sento in dovere di fare un esempio utilizzando solo Actionscript.

Vediamo l' esempio...

Creo un FLA che salvo con nome ' sounds.fla '.
Al suo interno istanzio sullo stage un bottone e gli assegno nome istanza ' bottone_btn '.
Importo 3 files audio in libreria, uno per l' evento over del mouse, uno per l' out ed uno per il click.
Creo la Document Class, un file AS che salvo con nome ' Main.as ', implementata in questo modo:
Code:
package
{
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	public class Main extends MovieClip
	{
		public function Main()
		{
			initListener();
		}
		
		private function initListener():void
		{
			bottone_btn.addEventListener(MouseEvent.MOUSE_OVER,isOver);
			bottone_btn.addEventListener(MouseEvent.MOUSE_OUT,isOut);
			bottone_btn.addEventListener(MouseEvent.CLICK,isClick);
		}
		
		private function isOver(m:MouseEvent):void
		{
			var sound_over:Over=new Over();
		}
		
		private function isOut(m:MouseEvent):void
		{
			var sound_out:Out=new Out();
		}
		
		private function isClick(m:MouseEvent):void
		{
			var sound_click:Click=new Click();
		}
	}
}
Ora creo le 3 classi che poi andrò ad inserirne il nome nel campo identificatore di ogni file audio.
Tre file AS :

Over.as
Code:
package
{
	import flash.media.Sound;
	import flash.media.SoundChannel;
	
	public class Over extends Sound
	{
		private var sound:SoundChannel;
		
		public function Over()
		{
			sound=play();
		}
	}
}
Out.as
Code:
package
{
	import flash.media.Sound;
	import flash.media.SoundChannel;
	
	public class Out extends Sound
	{
		private var sound:SoundChannel;
		
		public function Out()
		{
			sound=play();
		}
	}
}
Click.as
Code:
package
{
	import flash.media.Sound;
	import flash.media.SoundChannel;
	
	public class Click extends Sound
	{
		private var sound:SoundChannel;
		
		public function Click()
		{
			sound=play();
		}
	}
}
Adesso torno nel FLA ( sounds.fla ) e assegno al file audio che ho scelto per l' evento del mouse over, identificatore Over.
Al file audio che ho scelto per l' evento del mouse out, assegno l' identificatore Out.
Al file audio che ho scelto per l' evento del click, assegno l' identificatore Click.

Ecco il risultato:










Analizziamo il codice.

Classe Main.as
Metodi:

initListener();
aggiungo un listener in ascolto delgi eventi del mouse ( MOUSE_OVER, MOUSE_OUT e CLICK ) che chiameranno i rispettivi metodi ad evento avvenuto.
bottone_btn.addEventListener(MouseEvent.MOUSE_OVER ,isOver);
bottone_btn.addEventListener(MouseEvent.MOUSE_OUT, isOut);
bottone_btn.addEventListener(MouseEvent.CLICK,isCl ick);

isOver();
istanzio la classe Over ( che estende la classe Sound ed è assegnata ad un file audio in libreria )
var sound_over:Over=new Over();

isOut();
istanzio la classe Out ( che estende la classe Sound ed è assegnata ad un file audio in libreria )
var sound_out:Out=new Out();

isClick();
istanzio la classe Click ( che estende la classe Sound ed è assegnata ad un file audio in libreria )
var sound_click:Click=new Click();


Classi Over.as, Out.as e Click.as
Proprietà

un' istanza della classe SoundChannel
private var sound:SoundChannel;

Nelle rispettive funzioni costruttrici ( public function Over() / Out() / Click() ) dico a SoundChannel di riprodurre il suono
sound=play();
NB: quel comando play() è riferito alla classe in cui si trova, quindi, dato che la classe estende la classe Sound, è come dire istanzaSound.play();

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 28-04-08, 20:02
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: Come usare bottoni e suoni con Flash CS3

Ciao Flep, my question is:

se devo fare 3 pulsanti che sono la minima parte del mio sito, solo per quelli devo fare 9 classi?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 28-04-08, 20: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: Come usare bottoni e suoni con Flash CS3

volevo resettare la domanda ma era "expired" il limite per editare il mio post. Cmq ho capito, sembra un comando molto semplice e intuitivo e pulito. Non so come fosse con AS 2.0, perchè al tempo non ero ancora "nato"....
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
[AS2] aiuto: bottoni flash cs3 savearth Flash CS3 generale 10 07-06-08 23:59
Come usare lo strumento penna di Photoshop CS3 Flep PhotoShop 0 23-05-08 08:12
creare un DVD da usare nei lettori CASALINGHI da FLASH CS3 ary-ary Flash CS3 generale 3 26-11-07 09:10
Perchè non usare stage.addChild(myMovieClip) ??? nextpaco Actionscript 3.0 avanzato 3 14-11-07 12:34
Actionscript 3.0 settings - usare modalità strict o standard ? Flep Articoli e tutorials 0 21-09-07 08:56


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


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