Autor |
Nachricht |
Freddi
Threadersteller
Dabei seit: 20.07.2006
Ort: Freiburg
Alter: -
Geschlecht:
|
Verfasst Do 16.07.2009 14:25
Titel [Flash] dynamische Bühnengröße |
|
|
Es geht um folgendes Szenario:
Ich habe eine Website, auf der in der Mitte ein 800x600 Pixel großes Flash platziert werden soll. Manche der Unterseiten brauchen aber mehr Platz nach unten raus. Meine Frage ist, ob ich die Bühnengröße dynamisch anpassen kann? Also dass ich bei manchen Seiten dann mit einem 800x1000 Pixel großem Flash arbeiten kann, ohne eine neues Flashdatei laden zu müssen.
F.
(Ich arbeite mit Flash CS3 und AS2)
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 17.07.2009 03:06
Titel
|
|
|
den Stage-Scale-Mode auf noscale setzen und dann das embed bzw. object element per js auf größe ziehen
|
|
|
|
|
Anzeige
|
|
|
Freddi
Threadersteller
Dabei seit: 20.07.2006
Ort: Freiburg
Alter: -
Geschlecht:
|
Verfasst Fr 17.07.2009 10:50
Titel
|
|
|
phihochzwei hat geschrieben: | den Stage-Scale-Mode auf noscale setzen und dann das embed bzw. object element per js auf größe ziehen |
Das mit dem Stage-Scale ist klar, doch was meinst du mit dem "das embed bzw. object element per js auf größe ziehen"?
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 17.07.2009 19:42
Titel
|
|
|
Du bettest in HTML die SWF-Datei per object-Tag bzw. per embed-Tag ein. Da drin steht die Bühnengröße. Und die muss geändert werden.
|
|
|
|
|
Freddi
Threadersteller
Dabei seit: 20.07.2006
Ort: Freiburg
Alter: -
Geschlecht:
|
Verfasst Mo 20.07.2009 09:48
Titel
|
|
|
Ich habe leider keine Ahnung von JavaScript. Kannst du mir Tipps geben, wie ich da ran gehen kann?
|
|
|
|
|
Freddi
Threadersteller
Dabei seit: 20.07.2006
Ort: Freiburg
Alter: -
Geschlecht:
|
Verfasst Mo 20.07.2009 10:24
Titel
|
|
|
Sorry für den Doppelpost, aber vielleicht habe ich einen Lösungsansatz:
HTML:
Code: |
<head>
<script language="javascript">
function test() {
document.getElementById("flash_obj").height = 500;
document.getElementById("flash_emb").height = 500;
}
</script>
</head>
<body>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','968','height','680','src','swf/ro_main','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','swf/ro_main' ); //end AC code
</script><noscript><object id="flash_obj" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="968" height="680">
<param name="movie" value="swf/ro_main.swf" />
<param name="quality" value="high" />
<embed id="flash_emb" src="swf/ro_main.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="968" height="680"></embed>
</object></noscript>
</body>
|
und das Ganze rufe ich per Flash wie folgt auf:
Code: |
on(release) {
getURL("javascript:test()", "_self");
}
|
Irgendwie will das aber nicht funktionieren...
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Mo 20.07.2009 11:45
Titel
|
|
|
A) allowScriptAccess fehlt
B) Mein Fehler, über ID geht´s zwar auch, aber anders. Besser über Class.
C) Hier der HTML-Part:
Code: |
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="AC_OETags.js" language="javascript"></script>
<style>
body { margin: 0px; overflow:hidden }
</style>
</head>
<script type="text/javascript" >
function resize(w, h){
var tmp = document.getElementsByClassName("MeinSWF");
for each(var obj in tmp){
obj.width = w;
obj.height = h;
}
}
</script>
<body scroll="no">
<object class="MeinSWF" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="Test" width="500" height="500"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="Test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ff0000" />
<param name="allowScriptAccess" value="always" />
<embed class="MeinSWF" src="Test.swf" quality="high" bgcolor="#ff0000"
width="500" height="500" name="Test" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</body>
</html>
|
D) Einfach die Funktion "resize" mit der gewünschten Breite und Höhe als Parameter aufrufen.
E) JS-Aufrufe am besten IMMER über ExternalInterface !!!
F) Hier mal eine Demo, bei der onKeyDown die Bühnengröße wechselt
http://www.phihochzwei.com/construction/tryout/js/dummy.html
|
|
|
|
|
Freddi
Threadersteller
Dabei seit: 20.07.2006
Ort: Freiburg
Alter: -
Geschlecht:
|
Verfasst Di 21.07.2009 11:44
Titel
|
|
|
Ok, soweit funktioniert das nun bei mir! Jetzt habe ich nur noch das Problem, dass das swf mit hochskaliert wird (ich habe nur die Höhe verändert.
EDIT:
Ich habe im AS ein "Stage.scaleMode = "noScale";" drinnen, trotzdem skaliert er mir das Flash.
Zuletzt bearbeitet von Freddi am Di 21.07.2009 11:45, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Flash] Bühnengröße via AS ändern?
FLASH: Bühnengröße ändern
Dynamische Flash Slideshow
Dynamische Inhalte in Flash
Flash: dynamische Diashow als PC.exe?
Flash und dynamische VIdeos
|
|