Log in

View Full Version : autoridimensionamento swf



nexo
3rd May 2008, 09:04
Salvia, qualcuno sa come si imposta il codice html per la pagina index contenente un swf per farlo ridimensionare in automatico alla risoluzione dello schermo dell'utilizzatore? Si può fare, l'avevo usato tempo fa, ma ora non mi riesce proprio e a chi usa un 800x600 gli esce un petardo zoomatissimo.
Grazie per eventuali aiuti.

Suppa
3rd May 2008, 10:58
Non funziona piu' perchè con le nuove classi flash bisogna mettere lo stage noResize direttamente nel flash..

il vecchio 100% width 100% height non basta piu' :)

Senza essere troppo complicato, guarda nelle impostazioni di pubblicazione in html da flash e settalo come percentuale.. prova se quello ti è sufficiente,
se no ti dico le varie soluzioni a seconda di cosa vuoi esattamente ottenere
(ora flash si comporta come i css al 100% :p )

nexo
3rd May 2008, 11:00
Non funziona piu' perchè con le nuove classi flash bisogna mettere lo stage noResize direttamente nel flash..

il vecchio 100% width 100% height non basta piu' :)

Senza essere troppo complicato, guarda nelle impostazioni di pubblicazione in html da flash e settalo come percentuale.. prova se quello ti è sufficiente,
se no ti dico le varie soluzioni a seconda di cosa vuoi esattamente ottenere
(ora flash si comporta come i css al 100% :p )

allora.. chiedevo a proposito dell'swf perchè era il risultato finale usando adobe flex3 ... non so se abbia le stesse impostazioni di flash, ad ogni modo non ho idea di quali impostazioni guardare.. se mi puoi elencare le soluzioni mi faresti un gran favore..

Suppa
3rd May 2008, 11:22
mmmhhh flex ... non ci bazzico molto li'.. quindi non so bene come viene pubblicato l'swf rispetto al flash normale..

Ad ogni modo:

Se vuoi che un filmato sia al 100% sia a 1024x768 che a 800x600 la prima cosa da fare è assolutamente pubblicare il filmato in percentuale da Settaggi Pubblicazione (menu file).

Di conseguenza in HTML avrai :

AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','100%','heigh t','100%','id','Untitled-1','align','middle','src','****nomedelflash****',' quality','high','bgcolor','#00ffff','name','****no medelflash****','allowscriptaccess','sameDomain',' allowfullscreen','false','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','Untitled-1' ); //end AC code
}

per IE

<param name="movie" value="Untitled-1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#00ffff" /> <embed src="****nomedelflash****.swf" quality="high" bgcolor="#00ffff" width="100%" height="100%" name="****nomedelflash****" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

Per firefox

e credo sia quello che vuoi, in teoria non dovresti nemmeno mettere mano al progetto.

se vuoi un design Liquido invece (ovvero che ti espanda lo sfondo lasciando sempre centrato o dove hai messo tu il contenuto) devi intervenire nell'AS e aggiungere la stringa :

Stage.scaleMode = "noScale"; (per AS2)
public static const NO_SCALE:String = "noScale" (di base, per AS3)
ovviamente va compilato a seconda dei tuoi constructors (di base rimane anche in AS3 Stage. (con la S, non stage)

in html rimane come sopra...

prova e dimmi se noti cambiamenti.. ^^

nexo
3rd May 2008, 11:48
mmmhhh flex ... non ci bazzico molto li'.. quindi non so bene come viene pubblicato l'swf rispetto al flash normale..

Ad ogni modo:

Se vuoi che un filmato sia al 100% sia a 1024x768 che a 800x600 la prima cosa da fare è assolutamente pubblicare il filmato in percentuale da Settaggi Pubblicazione (menu file).

Di conseguenza in HTML avrai :

AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','100%','heigh t','100%','id','Untitled-1','align','middle','src','****nomedelflash****',' quality','high','bgcolor','#00ffff','name','****no medelflash****','allowscriptaccess','sameDomain',' allowfullscreen','false','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','Untitled-1' ); //end AC code
}

per IE

<param name="movie" value="Untitled-1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#00ffff" /> <embed src="****nomedelflash****.swf" quality="high" bgcolor="#00ffff" width="100%" height="100%" name="****nomedelflash****" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

Per firefox

e credo sia quello che vuoi, in teoria non dovresti nemmeno mettere mano al progetto.

se vuoi un design Liquido invece (ovvero che ti espanda lo sfondo lasciando sempre centrato o dove hai messo tu il contenuto) devi intervenire nell'AS e aggiungere la stringa :

Stage.scaleMode = "noScale"; (per AS2)
public static const NO_SCALE:String = "noScale" (di base, per AS3)
ovviamente va compilato a seconda dei tuoi constructors (di base rimane anche in AS3 Stage. (con la S, non stage)

in html rimane come sopra...

prova e dimmi se noti cambiamenti.. ^^

grazie, provo a ravanarci su e ti so dire :D

nexo
3rd May 2008, 14:57
allora, io sull'index html ho una stringa script
<script src="AC_OETags.js" language="javascript"></script>
che va direttamente a leggere il file AC_OETags.js .. dentro a questo ho trovato ciò a cui fai riferimento:

function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

devo rimpiazzare interamente con la stringa che mi hai fornito?

Suppa
3rd May 2008, 17:27
no tutto no.. ci sono anche informazioni che magari non ti servono...

ti servono questi parametri, prova:

'width','100%','height','100%'

ovvio pero' devi carcare anche i tag param e embed che sono per mozilla/firefox

nexo
3rd May 2008, 17:56
no tutto no.. ci sono anche informazioni che magari non ti servono...
ti servono questi parametri, prova:
'width','100%','height','100%'
ovvio pero' devi carcare anche i tag param e embed che sono per mozilla/firefox
il mio file è questo, si crea automaticamente quando genero la bin release; non capisco la posizione però dove devo modificare la stringa che mi hai segnalato; non trovo i parametri per firefox oltretutto o quantomeno on sono in grado di riconoscerli, puoi darci un occhio pls?

Suppa
3rd May 2008, 20:15
no va bene... questo js è il constructor di base e modello unico anche se inlcude molto piu' del solito AC_RunActiveContent che si usa normalmente con flash...

Nella pagina html questo js viene chiamato al caricamento e i settaggi vengono definiti nella pagina html direttamente, senza moddare il js..

Ho cercato e ho trovato qualche info che secondo me fanno al caso tuo per capire qui.. questo perchè la pubblicazione di applicazione Flex è un po' diversa rispetto al classico output swf di flash (anche se non sembra)

http://www.augitaly.com/flexgala/index.php?cmd=newsreader&id=190
io cmq ti allego una banale pagina html con un flash dentro come si usa oggi fare.. che presuppone sia in run con il AC_RunActiveContent e abbia misure in % cioe' sempre 100% qualsiasi sia la dimensione della finestra..

ovviamente edita le parti tra gli *** con i nomi dei tuoi files ehehe

vedi tu le differenze poi, ok?
Di piu' purtroppo temo di non poterti aiutare :(

Suppa
3rd May 2008, 20:23
un mio ex-collega ha scritto questo articolo

http://blog.augitaly.com/2007/05/usare_i_moduli_in_flex_width_e.html

pero' qua ci ha messo in mezzo l'xml..
ripeto , io e flex non andiamo d'accordo :sneer:

nexo
3rd May 2008, 20:28
un mio ex-collega ha scritto questo articolo

http://blog.augitaly.com/2007/05/usare_i_moduli_in_flex_width_e.html

pero' qua ci ha messo in mezzo l'xml..
ripeto , io e flex non andiamo d'accordo :sneer:

quel blog è una manna, ho iniziato usando tutte le risorse che metton a disposizione :D .. controllerò grazie