Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

come visualizzare un SWF al 100%

This is a discussion on come visualizzare un SWF al 100% within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Avete presente quelle applicazioni Flash che sono visualizzate a 100% sul browser dell' utente ? Per poter lavorare con quele carateristiche, ...


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
  12 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 21-09-07, 17:41
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
come visualizzare un SWF al 100%

Avete presente quelle applicazioni Flash che sono visualizzate a 100% sul browser dell' utente ?


Per poter lavorare con quele carateristiche, dobbiamo intervenire sul setting di pubblicazione dell' SWF, più precisamente sul file html che crea Flash, in modo che il nostro SWF si espanda o si restringa in base alla risoluzione dell' utente..
Fatto questo, dobbiamo* lavorare con Actionscript 3.0 per mantenere gli oggetti ( MovieClip, campi di testo ecc ecc ) nella medesima posizione* su qualsiasi misura prenderà il nostro SWF.
Inoltre, possiamo anche impostare un listener in ascolto di un eventuale cambio di risoluzione e quindi risistemare gli oggetti.

Vediamo come fare...*

Creo un FLA che salvo con nome ' main.fla '.
Mantengo le dimensioni di default: 550x400.
Un livello che chiamo ' sfondo ' nel quale inserisco una MovieClip con nome istanza ' bg_mc '. Rettangolare, stesse dimensioni dello stage e punto di registrazione in alto a sinistra.

Adesso vado nel setting di pubblicazione e nella categoria HTML imposto il seguente setting:

setting

Flash ha creato un file che si chiama ' main.html '.
Lo apro ( io utilizzo Dreamweaver ma si può fare con qualsiasi html editor ) e imposto tutti i margini a zero dal pannello proprietà della pagina, come foto seguente:

setting

Adesso creo la Document Class, un file AS che salvo con nome ' Main.as ', implementata in questo modo:
Code:
package
{
	import flash.display.MovieClip;
	
	public class Main extends MovieClip
	{
		public function Main()
		{
			init();
		}
		
		private function init():void
		{
			stage.frameRate=31;
			
			bg_mc.x=0;
			bg_mc.y=0;
			bg_mc.width=stage.stageWidth;
			bg_mc.height=stage.stageHeight;
		}
	}
}
nel metodo init:
imposto una velocità di framerate
stage.frameRate=31;
dico a bg_mc di mettersi a coordinate 0,0 e di avere larghezza e altezza uguali a larghezza e altezza dello stage. In questo modo, in qualsiasi misura lo stage venga aperto dal browser dell' utente ho la certezza che l' SWF viene visualizzato a 100%
bg_mc.x=0;
bg_mc.y=0;
bg_mc.width=stage.stageWidth;
bg_mc.height=stage.stageHeight;

otteniamo il seguente risultato:
PROVA 1
Chiaramente se avessimo sistemato degli oggetti sullo stage noteremo che se testiamo l' SWF senza file html ( quindi alle sue dimensioni originali ) gli oeggti sarebbero al posto giusto, mentre se fossero stati nell' esempio del precedente link si sarebbero spostati.
Faccio un esempio, aggiungo una movieClip rettangolare con punto di registrazione centrale e con nome istanza ' clip_mc ' al centro dello stage ed ottengo questo risultato:










vediamolo ora a risoluzione 100% :
PROVA 2
non è più centrato ! clip_mc non è più al centro dello stage.
A questo punto serve agire con Actionscript e nel metodo init() aggiungiamo:
clip_mc.x=stage.stageWidth/2;
clip_mc.y=stage.stageHeight/2;
dicendo a Flash che clip_mc.x deve stare esattamente alla metà della larghezza dello stage e stessa cosa per la y che starà alla metà dell' altezza delo stage.
Infatti ecco che ora è centrato:
PROVA 3
Altro esempio, supponiamo ora di avere un campo di testo ( rights_txt ) che deve stare in basso, in fondo all' altezza dello stage, in questo modo:










pubblicandolo a 100% senza utilizzare Actionscript, avremmo questo risultato:
PROVA 4
e anche quì non è dove dovrebbe stare dato che l' swf è più grande.
Quindi ricorriamo ad Actionscript:
importo la classe textField
import flash.text.TextField;
ed imposto le coordinate del campo di testo, la x deve stare alla larghezza massima dello stage meno la larghezza del suo stesso testo e la y all' altezza massima dello stage meno l' altezza del suo stesso testo
rights_txt.x=stage.stageWidth-rights_txt.textWidth;
rights_txt.y=stage.stageHeight-rights_txt.textHeight;
e quindi adesso anche in risoluzione 100% avrà il corretto posizionamento:
PROVA 5
Attenzione adesso !
Se l' utente ridimensionasse la finestra del browser con il nostro bello SWF visualizzato a 100% ?
Semplice risposta, gli oggetti non si riposizionerebbero.
Provate a ridimensionare la finestra:
PROVA 5
Abbiamo bisogno di un listener in ascolto dell' evento RESIZE che ci avviserà quando il nostro SWF viene ridimensionato.
Ecco come usarlo:
importo l' evento
import flash.events.Event;
aggiungo un chiamata ad un metodo subito dopo la chiamata di init()
checkResize();
creo il metodo checkResize
private function checkResize():void
{
aggiungo un listener allo stage in ascolto dell' evento RESIZE della classe Event che chiamerà la funzione resizeStage
stage.addEventListener(Event.RESIZE, resizeStage);
}
la funzione resizeStage richiamerà il metodo init() che riposizionerà gli oggetti sullo stage
private function resizeStage(event:Event):void
{
init();
}
provate ora a ridimensionare la finestra:
PROVA 6

Alla prossima !
__________________

 


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 11-10-07, 10:45
Junior Member
 
Join Date: Oct 2007
Location: Cagliari
Posts: 3
Rep Power: 0
Aiki86 is on a distinguished road
Riferimento: come visualizzare un SWF al 100%

Non sò se posso scrivere dopo un tutorial, spero di si
(premetto che sono un principiante del flash)

Mettiamo di avere sempre un MovieClip di nome istanza "bg_mc", nell'esempio che hai fatto questo era nel frame 1.

Io vorrei sapere invece come si mantiene la dimensione adattata come nell'esempio se

"bg_mc" parte con alpha 0% nel frame 1
per poi diventare con un Motion Tween alpha 100% nel frame 30 (per esempio)

Io il massimo che riesco a ottenere è un rettangolino piccolino che compare fino al frame 29 e poi si mette al 100% solo una volta che è arrivato al frame 30
invece la dimensione dovrebbe essere per ogni frame al 100%
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 11-10-07, 10:49
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: come visualizzare un SWF al 100%

Ciao e benvenuto
Certo che puoi scrivere, questi tutorials sono stati inseriti quì nel forum apposta, in modo che si può discutere liberamente.

A riguardo del tuo problema, la motion tween la fai con una MovieClip dentro a bg_mc oppure direttamente sulla timeline ?
__________________

 


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 11-10-07, 11:04
Junior Member
 
Join Date: Oct 2007
Location: Cagliari
Posts: 3
Rep Power: 0
Aiki86 is on a distinguished road
Re: come visualizzare un SWF al 100%

direttamente dalla timeline, "con il tasto destro :)"
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 11-10-07, 11:08
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: come visualizzare un SWF al 100%

Così non va bene.
Apri bg_mc e falla lì dentro.
Seleziona la forma, convertila i MovieClip.
Aggiungi un keyframe al 30 e fai la Motion.
__________________

 


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

Flash Multi Gallery
  #6 (permalink)  
Old 11-10-07, 11:14
Junior Member
 
Join Date: Oct 2007
Location: Cagliari
Posts: 3
Rep Power: 0
Aiki86 is on a distinguished road
Re: come visualizzare un SWF al 100%

Quote:
Originally Posted by Flep View Post
la motion tween la fai con una MovieClip dentro a bg_mc oppure direttamente sulla timeline ?
Si :D pensa che non lo sapevo neanche che potevo farla dentro!

grazie mille !!

Last edited by Aiki86; 11-10-07 at 11:15.. Reason: ...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #7 (permalink)  
Old 11-11-07, 08:43
Onsitus's Avatar
CSS.FlepStudio.org
 
Join Date: Jul 2007
Location: Nettuno Beach
Posts: 1,012
Rep Power: 3
Onsitus is on a distinguished road
Re: come visualizzare un SWF al 100%

Buongiorno,

qualcuno mi spiega il parameter (event:Event) a che serve
Quote:
private function resizeStage(event:Event):void
Grazie.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #8 (permalink)  
Old 11-11-07, 08:57
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: come visualizzare un SWF al 100%

Ciao Gaelle

Se chiami una funzione ( nel tuo caso resizeStage ) da un addEventListener, la funzione vuole come parametro l' evento associato al listener.
Quindi, se ad esempio hai:
stage.addEventListener(Event.RESIZE, resizeStage);
la funzione resizeStage vuole un parametro di tipo Event.
Quel parametro serve per recuperare l' oggetto al quale è stato associato quell' evento.
Quindi nel tuo caso se all' interno di stageResize scrivi trace(event.target); flash ti stampa Stage.
Serve soprattutto nei casi in cui usi dei cicli.
Se in un ciclo associ un evento ad esempio MouseEvent.CLICK a 200 MovieClip ed ogni volta che una delle 200 MC viene cliccata vuoi che venga chiamata una funzione che si chiama goWeb, come fai a sapere dentro tale funzione quale MC è stato cliccato ?
Semplice, la funzione goWeb vuole un parametro di tipoevent:MouseEvent e tramite quello risali alla MC che è stata cliccata:
event.target
__________________

 


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

  #9 (permalink)  
Old 08-12-07, 18:14
Junior Member
 
Join Date: Sep 2007
Posts: 27
Rep Power: 0
floppy is on a distinguished road
Re: come visualizzare un SWF al 100%

Scusate, tanto per sapere..
ma con questo sistema le eventuali immagini bitmap non diventano uno schifo ?

:-(
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #10 (permalink)  
Old 09-12-07, 06:46
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Re: come visualizzare un SWF al 100%

Le immagini non scalano, perchè abbiamo settato la proprietà Scale a no scale, per cui rimangono delle dimensioni originali.
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
problemi x visualizzare un swf bliyrskel CSS | HTML 6 24-06-08 09:02
Espositore di prodotti: visualizzare swf bliyrskel AIUTO utilità free 23 31-05-08 10:25
Visualizzare immagini caricate da xml Fedepag Actionscript 3.0 base 3 22-04-08 17:25
Visualizzare Pdf all'interno di Flash Alfire Flash CS3 generale 2 21-04-08 12:25
Leggere e visualizzare un RSS con Flash CS3 Flep Articoli e tutorials 4 06-04-08 15:43


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


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