auflösung mit flash auslesen! geht das?

  • Themenstarter Themenstarter kroschka
  • Beginndatum Beginndatum
K

kroschka

hi volks,

ich würde gern meinen flashfilm an die jeweilige auflösung anpassen,
die der betrachter hat,
soll heissen, wenn jemand mit 1024x768 hat, soll nach der index.swf ein grösserer film aufgerufen werden und wenn jemand 800x600 hat, halt ein kleinerer,
[will vermeiden, dass die leut ewig scrollen müssen]

kann man das überhaupt mit flash irgendwie auslesen, welche auflösung der pc hat, auf dem der swf grad abgespielt wird?

*null durchblick hat*
 
Da geht viel einfacher: und zwar mit der HTML-Datei in der der Film angezeigt wird.

In Flash 5.0 kannst du das in den Publishsettings einstellen:

publish.gif


Wenn du nur willst, dass die Grösse des Filmes angepasst wird, änderst du nur "Dimensions" auf Percent und gibst dort 100% an. Wenn du aber willst, dass der Film perfekt auf die Grösse des Anzeigebereichs angepasst wird, wählst du noch bei "Scale" die Auswahl "Exact Fit"
 
Zuletzt bearbeitet:
thx, jetzt weiss ich mehr,
aber eigentlich hab ichs anders gedacht =)
,
wollt den zweiten film [der der nach index kommt] in einem festen fenster machen, also dass man die form nicht verändern kann,
aber das geht auch, werds schon irgendwie hinkriegen,
thx =)

ps,
warum sieht dein flash eigentlich so *hhhm* blau aus? :-)
 
Mit HTMl würd ich's so machen:
Code:
<a href="link.htm" onclick="window.open
(&quot;&quot;,&quot;frame&quot;,&quot;width=640,height=480,
scrollbars=no,resizable=no,menubar=no&quot; );" target="frame"; 
return true">- LINK -</a>
Wenn du nun "link.htm" öffnest, erscheint ein Popup mit der Grösse 640x480 und die Grösse ist nicht veränderbar.

Mein Flash ist nicht blau ;-) Hab nur die Farben des Screenshots auf 4bit heruntergeschraubt, damit du dich nicht dafür todwartest...

Warum willst du eigentlich Ein Popup nach "index.swf"?
Wenn ich eine Webseite in Flash erstelle, bringe ich alles in einem Film unter oder lade "loadmovies" herein. Aber ich würde nie eine Website mit einem Flashfilm starten, der einen anderen in einem Popup öffnet. Mach lieber eine Portalseite mit HTML. Dann funktioniert auch mein CODE.
 
Zuletzt bearbeitet:
zur info:
=) ich hab öfters mal einen ganzen flashfilm versucht in einem online laufen zu lassen, hatte mir aber immer wieder nicht zugesagt, deswegen hab ich die seite aufgeteilt und die teil swf's, die ich hatte, hab ich jetzt in html dateien gepackt und lass sie in einem frameset durch ein flashmenü aufrufen, gefällt mir wenigstens besser als ein rechteck, das entweder zu gross oder zu klein mitten im browser mir nix dir nix vor sich hingammelt [wusste bis dahin nicht, dass ich den film auch auf die browsergrösse skalieren kann, thx],
und wie man ein fenster, dessen grösse man nicht verändern kann, macht, weiss ich auch schon, hat ein weilchen gedauert, aber ich bin schlauer *g* [siehe alter thread hier im forum irgendwo]
meine frage war nur, ob man mit flash die auflösung irgendwie auslesen kann,
wenn zum beispiel der film von 800x600 auf 1154x... skaliert wird, sieht er nicht mehr allzuschön aus, da kann es sich zum beispiel lohnen zu wissen, welche auflösung der pc hat,

=) werd jetzt aber lieber mit dem skalieren arbeiten, dann brauch ich nicht 2 fast identische haupt swf machen =) thx nochmal

//edit:
wenn du wissen wills, wofür ich das popup gebraucht hab, kann ich dir ja den link von der seite geben, an der ich grad schaff =) [meld dich per pm, falls du ihn willst]
ich mach sie just for fun [ich weiss, es gibt schon genug tut-seiten zu flash, aber wenn ichs selber mach,lern ich mehr, find ich]
 
Zuletzt bearbeitet von einem Moderator:
auch wenn sich das problem anscheinend schon gelöst hat, kann man das ganze mit ein wenig javascript realisieren. einfach das hier in den head packen:
PHP:
<script type="text/javascript">
<!--
function Fensterweite()
{
 if (window.innerWidth) return window.innerWidth;
 else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
 else return 0;
}
function Fensterhoehe()
{
 if (window.innerHeight) return window.innerWidth;
 else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
 else return 0;
}
/*Überwachung von Netscape initialisieren*/
if(!window.alteWeite && window.innerWidth)
  {
   window.onresize = neuAufbau;
   Weite = Fensterweite();
   Hoehe = Fensterhoehe();
  }
function neuAufbau()
{
 if (Weite != Fensterweite() || Hoehe != Fensterhoehe())
 window.history.go(0);
}
//-->
< / script>
und das hier dann in den body:
PHP:
<script type="text/javascript">
<!--
/*Überwachung von MS Internet Explorer initialisieren*/
 if(!window.Weite && document.body &&  document.body.offsetWidth)
  {
   window.onresize = neuAufbau;
   Weite = Fensterweite();
   Hoehe = Fensterhoehe();
  }
//-->
< / script>

und dann kannst du die parameter an flash weitergeben indem du folgendes vor den embed-tag im html-quellcode schreibst:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="600" height="300">
<PARAM name=movie value="box.swf">
<PARAM name=quality value=high>
<EMBED src="box.swf" variabelhoehe=<script type="text/javascript">
document.write(Hoehe);</script> variabelweite=<script type="text/javascript">
document.write(Weite);</script>
quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="600" height="300">
</EMBED>
</OBJECT>


ab da an kennt flash die variabeln namens "variabelhoehe" und "variabelweite".
eine dynamische größe des flash-films mit prozentangaben ist allerdings sicherlich die elegantere lösung...
 
vielen dank =) wenns funktioniert, wie es soll [ich habs noch nicht geprüft], hab ich genau das gesucht *ggg*
 

Neue Beiträge

Zurück