Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Come firmare il proprio SWF

This is a discussion on Come firmare il proprio SWF within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Salve a tutti ! Avete presente che navigando per il web capita di vedere qualche SWF che al click destro del ...


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, 14:18
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Come firmare il proprio SWF

Salve a tutti !
Avete presente che navigando per il web capita di vedere qualche SWF che al click destro del mouse non appare il menu classico del Flash Player ?
In alcuni casi appare una scritta ( tipo una firma ) dello sviluppatore dell' SWF che se cliccata indirizza al suo sito.
Con questo articolo andrò a dimostrare come poterlo fare in modo da dare un tocco di professionalità in più ai vostri SWF.

Seguitemi...

Creo un FLA e lo salvo con nome ' firma.fla '.
Creo la Document Class, un file AS che salvo con nome ' Firma.as ', implementata in questo modo:
Code:
package
{
	import flash.display.MovieClip;
	import flash.events.ContextMenuEvent;
	import flash.ui.ContextMenu;
	import flash.ui.ContextMenuItem;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	
	public class Firma extends MovieClip
	{
		public function Firma()
		{
			initMenu();
		}
		
		public function initMenu():void
		{
			var etichetta:String='© FlepStudio.org';
			var cm:ContextMenu=new ContextMenu();
			var item:ContextMenuItem=new ContextMenuItem(etichetta);
			cm.hideBuiltInItems();
			cm.customItems.push(item);
			item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickato);
			this.contextMenu=cm;
		}
		
		private function clickato(event:ContextMenuEvent):void
		{
			var url:String='http://www.flepstudio.org/';
			var request:URLRequest=new URLRequest(url);
			navigateToURL(request,'_parent');
		}
	}
}
Ora provate a cliccare col destro sul seguente SWF:










Analizziamo il codice

Metodi


initMenu();
creo una variabile di tipo stringa in cui inserisco la frase che voglio fare apparire al click destro del mouse sulll' SWF
var etichetta:String='© FlepStudio.org';
creo un nuovo ContextMenu
var cm:ContextMenu=new ContextMenu();
creo un nuovo ContextMenuItem a cui passo il valore della variabile etichetta
var item:ContextMenuItem=new ContextMenuItem(etichetta);
dico al ContextMenu di non visualizzare le voci di menu che ha di default
cm.hideBuiltInItems();
faccio un push alla ' proprietà ' ( quasi certamente sarà un getter/setter che incapsula un Array ) customItems di cm ( il ContextMenu ) della variabile item
cm.customItems.push(item);
aggiungo un listener in ascolto dell' evento MENU_ITEM_SELECT, il quale farà in modo che se cliccata la voce di menu chiamerà la funzione clickato()
item.addEventListener(ContextMenuEvent.MENU_ITEM_S ELECT,clickato);
aggiungo al mio SWF il nuovo ContextMenu ( il this in questo caso rappresenta la TimeLine, il FLA, la ex _root )
this.contextMenu=cm;

clickato();
creo una variabile di tipo stringa che contiene l' url su cui voglio indirizzare l' utente
var url:String='http://www.flepstudio.org/';
istanzio la classe URLRequest alla quale passo il valore della variabile url
var request:URLRequest=new URLRequest(url);
dico a Flash di reindirizzare il browser ( tramite la classe navigateToURL ) all' url contenuto nella variabile url
navigateToURL(request,'_parent');

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-01-08, 18:19
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Riferimento: Come firmare il proprio SWF

Ho un sfw che carica un numero variabile di clip. Per ogni clip stabilisco le misure, la posizione, faccio il drag and drop, ... Su ogni clip inserita posso attivare una voce "elimina" nel contextMenu per rimuovere la clip su cui si clicca. Come faccio?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 22-01-08, 05:36
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: Come firmare il proprio SWF

Supponiamo che sullo stage hai una MC con nome istanza clip_mc, ecco come fare:
Code:
package
{
	import flash.display.MovieClip;
	import flash.events.ContextMenuEvent;
	import flash.ui.ContextMenu;
	import flash.ui.ContextMenuItem;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	
	public class Firma extends MovieClip
	{
		public function Firma()
		{
			initMenu();
		}
		
		public function initMenu():void
		{
			var etichetta:String='rimuovi la MovieClip';
			var cm:ContextMenu=new ContextMenu();
			var item:ContextMenuItem=new ContextMenuItem(etichetta);
			cm.hideBuiltInItems();
			cm.customItems.push(item);
			item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickato);
			this.contextMenu=cm;
		}
		
		private function clickato(event:ContextMenuEvent):void
		{
			removeChild(clip_mc);
		}
	}
}
__________________

 


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

  #4 (permalink)  
Old 22-01-08, 17:49
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Riferimento: Come firmare il proprio SWF

Grazie Flep! Bravo come al solito :-)


Come faccio a dirgli che deve eliminare esattamente la clip su cui ha cliccato con il tasto destro?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 22-01-08, 18:26
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Riferimento: Come firmare il proprio SWF

Ho trovato la soluzione.

removeChild(event.mouseTarget)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Flash Multi Gallery
  #6 (permalink)  
Old 22-01-08, 18:31
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Riferimento: Come firmare il proprio SWF

Altro problema.

Nel mio caso un swf chiama un swf esterno e si passano dei parametri con LocalConnection.

Ebbene sulla clip singola funziona il tasto destro con la voce elimina. Quando carico l'swf esterno il menu viene disabilitato.

Why?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #7 (permalink)  
Old 23-01-08, 07:06
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: Come firmare il proprio SWF

Nell' SWF esterno hai personalizzato il menu ?
__________________

 


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

  #8 (permalink)  
Old 23-01-08, 08:07
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Re: Come firmare il proprio SWF

Esatto. Il Drag and Drop funziona ma il ContextMenu no
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #9 (permalink)  
Old 23-01-08, 08:35
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: Come firmare il proprio SWF

Prova ad assegnare lo stesso ContextMenu anche all' SWF che carichi
__________________

 


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

  #10 (permalink)  
Old 23-01-08, 11:51
Junior Member
 
Join Date: Jan 2008
Posts: 24
Rep Power: 0
Giò is on a distinguished road
Riferimento: Come firmare il proprio SWF

In effetti avevo sbagliato ad assegnare il menu. Il procedimento che funziona è assegnare il menu personalizzato al swf chiamante.

La funzione di eliminazione, però, è stata inserita nel swf chiamato.

Sai cosa non mi funziona il getChildIndex(event.MouseTarget). Mi da valori tipo 25, 15 quando invece ho al massimo 3 clip. In questo caso devo fare
setChildIndex(event.mouseTarget, numClips); nel chiamante
e poi removeChildAt(numClips) nel chiamato.

Funziona ma...troppa grazia Sant'Antonio. Se clicco fuori dalla clip che voglio eliminare, ne elimina quella con id più alto. Che tipo di controllo posso fare?
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
Quegli spazzietti bianchi nel sottomenù che proprio non capisco raffaelentertainment CSS | HTML 3 14-08-08 17:24


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


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