full window sans déformation

koko_la_gachette

Membre actif
16 Avril 2009
136
17
37
Paris/Tours
Bonjour tout le monde,

je cherche à pouvoir élargir sur toute la fenêtre d'exploration un swf dans HTML, sans le déformer. Dans l'idée le swf occuperais invariable toute la surface, mais pas le contenu du swf, c'est juste la surface de travail qui doit être dynamique :

http://salocin.gd.free.fr/tunetest/index01.html

Sur ce lien, allez dans 'espace création'. Il y a un drag&drop sur la gamelle et la cuillère. Vous remarquerez que lorsque l'on arrive au bord du swf, on ne peut plus déplacer l'objet, ce qui semble logique puisqu'on sort du swf.
J'ai essayé de bourriner sur la résolution du swf, ça marche, sauf que l'explorateur nous met des "chariots" verticaux et horizontaux pour pouvoir aller dans le vide, et ça c'est pas terrible. Je suis donc aller voir les possibilité Stage dans l'aide. Ce qui me semble le plus approprié c'est le SHOW_ALL puisqu'il ne déforme rien si je comprend bien ce qu'ils racconte. j'ai tenté un simple :

import flash.display.Stage;
StageScaleMode.SHOW_ALL;

... mais ça ne change rien.

Es-ce que quelqu'un aurait une solution ?

PS : Je ne connais vraiment qu'en surface l'AS3, donc n'hésitez pas à vous expliquer comme si j'étais un gros neux-neux.
 
Hello,

le .swf du site que tu donnes en lien ne s'élargit pas : il reste statique que tu agrandisse la fenêtre du navigateur ou que tu la réduises. En gros c'est uniquement ta page .html qui s'élargit, en fait il faut par exemple que tu spécifies "transparent" au paramètre window dans ton code html, idem le site que tu donnes en exemple :

Bloc de code:
<param name="wmode" value="transparent" />

A plus ;),
 
Oui, ce n'est que la fenêtre qui s'élargie pas le swf, c'est pour ça que je parlais "surface de travail dynamique" du swf, ou relative on va dire. Mais comment faire ?

... par-contre je vois pas du tout le rapport avec la transparence. En tout ça ce paramètre est bien dans mon HTML, j'ai d'ailleurs tenté d'en caser d'autres qui semblaient en lien avec ce que je voulais obtenir... mais non ça change rien :

<param name="movie" value="swf/site_02.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="allowFullScreen" value="true" />
<embed src="swf/site_02.swf" allowFullScreen="true" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="550" height="400"></embed>



---------- Nouveau message ajouté à 12h07 ---------- Le message précédent a été envoyé à 11h28 ----------

j'ai mis ici un zip qui sera peut-être plus claire quand à ce que je cherche à faire :
http://www.godownlaughing.fr/images/_slices/test_drag.zip
quand vous ouvrez l'index, il y a un carré, on peut le déplacer, mais dans les limites du swf, je voudrais qu'on puisse le déplacer partout.

---------- Nouveau message ajouté à 13h33 ---------- Le message précédent a été envoyé à 12h07 ----------

apparemment ce n'est pas dans l'ActionScript qu'il faut agir, mais dans la méthode d'intégration. j'ai un peu refait tout ce que j'avais mis dans le body de l'index, maintenant j'ai ça :

<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','100%','height','100%','id','site_02.swf','align','middle','src','swf/site_02','quality','high','scale','noscale','name','site_02.swf','allowscriptaccess','sameDomain','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','allowfullscreen','true','wmode','transparent','movie','swf/site_02' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="100%" height="100%" id="site_02.swf" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="true" />
<param name="movie" value="swf/site_02.swf" />
<param name="quality" value="high" />
<param name="scale" value="noscale" />
<param name="wmode" value="transparent" />
<embed src="swf/site_02.swf" width="100%" height="100%" align="middle" quality="high" scale="noscale" name="site_02.swf" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" allowfullscreen="true" wmode="transparent" />
</object></noscript>

Dans le css j'ai ajouté ça :

body {

background:url(../images/bg_01.jpg);
height: 100%;
width: 100%;
margin: 0;

}


... et ça marche plus ou moins. Ça donne une hauteur fixe à la quelle je n'arrive pas à remédié, et surtout je ne vois pas du tout à quoi elle correspond, elle est bien plus petite que la hauteur du swf. Mais la largeur est bien dynamique exactement comme je veux, le carré peut se déplacer n'importe où à gauche et droite
 
Dernière édition:
bon finalement je m'en suis sorti.
Impossible de comprendre comment les pourcentages sont interprétés par l'"AC_RunActiveContent.js", donc je met une valeur en pixel (très grande = 3000px). ça me met un scroll... mais dans le body il suffi de mettre <body style="overflow: hidden"> pour désactiver les scroll, et voilà...

merci tout de même pour votre aide