jpg + php = swf / loadmovie größe

DjDee

Erfahrenes Mitglied
also der name des topics passt wohl nicht so ganz aber ich wusst nichts anderes...

aaalso. ich habe mit php aus einem jpg file ein swf erstellt das ich nun durch loadmovie in ein anderes swf file laden will. funktioniert soweit auch schon super *g mein problem ist es jetzt das das eingeladene swf (das bild) in dem andren swf nur gaaanz klein angezeigt wird! wie bekomme ich es hin das das swf eine bestimmte größe hat? gibt es da eine funktion die das automatisch erledigt oder muss ich die werte in dem hauptfilm händisch einstellen? wenns die zweite möglichkeit ist, hätte ich gleich noch ein problem da das ganze dynamisch ablaufen soll. dann müsste ich ja die größe des bildes (php kennt sie) auch noch an flash übergeben. hilfe? :>
 
Du hast die Möglichkeit die Grösse des eingeladenen SWF's mit der Breite u. Höhe (_width, _height) zu verändern oder besser.

_xscale u. _yscale

Denk jedoch an den Pfad, welchen du vor die Eigenschaften setzen mußt.

mfg
Matze K.
 
ja soweit bin ich jetzt auch. die größe des bildes wird in eine txt datei geladen und ich kann sie auch im anzeige_swf ausgeben. wenn ich die größen per hand eingebe geht das auch -> http://www.deesigns.de/flash/show.swf

Code:
on (release) {
    setProperty (_root.imagemc, _width, 800);
    setProperty (_root.imagemc, _height, 532);
}


aber das ganze soll ja dynamisch sein. somit is meine frage nur noch wie ich die aus demn textfile geladenen variablen (breite und höhe des bildes) in meine resize anweisung bekomme!

Code:
on (release) {
    setProperty (_root.imagemc, _width, breite);
    setProperty (_root.imagemc, _height, hoehe);
}


danke schonmal!
 
das kannst du entweder machen in dem du die swf neu lädst, das hat nur den nachteil das der flash-film halt neu geladen wird, also von anfang an wieder anfängt. je nach verwendungszweck könnte das ein wenig stören.
der aufruf würde dann so gehen
datei.swf?&variabel=69

damit weiß die swf das variabel gleich 69 ist.
also müsste das php script eine html erstellen die in etwa so aussieht:

<OBJECT WIDTH=400 HEIGHT=200>
<PARAM NAME=movie VALUE="nix.swf?&breite=200&hoehe=400">
<EMBED src="nix.swf?&breite=200&hoehe=400" WIDTH=400 HEIGHT=200>
</EMBED>
</OBJECT>


ich hab das auf diese art nie getestet, aber zumindest wenn man im browser in der adresszeile ein ?&vari?wert hinter die swf hängt geht das. müsste theopraktisch so auch gehen.

ansonsten könnte man das ganze noch über eine textdatei lösen. allerdings ist das nicht die schnellste möglichkeit, das generieren und einlesen der textdatei kann schon so seine 1-2 sekunden dauern.
dafür erstellt man dann einfach mit php eine datei die z.b. "i.nfo" heißt und so einen inhalt hat:
&breite=200&hoehe=298
die dann einfach mit loadvariables("i.nfo",0); einlesen und schon klappt dieser befehl:
on (release) {
setProperty (_root.imagemc, _width, breite);
setProperty (_root.imagemc, _height, hoehe);
}
 
ohhaaa *g danke für eure anteilnahme aber das hab ich schon alles! die variablen für die größe sind auch schon im swf file! ich muss nur noch wissen wie ich die in meine resize anweisung bekomme *ausrast* :) größe und breite hab ich mit loadvariables schon hinzugeladen und die werden ja auch im textfeld ausgegeben. nur in meiner anweisung um die größe anzupassen will ich sie nicht manuell eingeben sonder halt auch die variablen_werte drin haben! und wie das geht weiss ich eben nicht :D
 
achsooooo,
hehemmm....

sofern hoehe und breite also bekannt sind, kann man sie mit pfad und da es ganze zahlen sein sollen mit einem int (für integer) davor in die anweisung schreiben:


on (release) {
setProperty (_root.imagemc, _width, int(_root.breite));
setProperty (_root.imagemc, _height, int(_root.hoehe));
}

oder alternativ:
on (release) {
_root.imagemc._width = int(_root.breite);
_root.imagemc._height = int(_root.hoehe);
}


wenn du die variabel aus ner txt lädst müsste der pfad eigentlich _root, bzw _level0 sein.

sofern das nicht geht, würde ich mal mit trace(_root.hoehe); bzw mit trace(int(_root.hoehe)); gucken, ob deine variabel überhaupt so geladen sind wie sie sein sollen, und ob der bei int(_root.hoehe) auch brav eine zahl ausgibt.
bzw da das ganze php-mäßig ja über einen server läuft wird dir trace nicht viel nützen, aber das ganze kann man sich ja auch mit textfeldern anzeigen lassen.
 
hab mal ein paar sachen probiert und nu geht´s.
frag mich nicht woran es gelegen hat.

der hat die 1. variabel deiner textdatei nicht ausgelesen, ohne absatz geht das nun.
und ich hab die werte vorher nochmal in einer temporären variabel gespeichert und die dann zugewiesen.

kannst dir das ganze ja mal angucken, den wirklich entscheidenen, auschlaggebenen grund warum es jetzt klappt und vorher nicht weiß ich nicht, aber hab auch wenig zeit mich gerade damit zu beschäftigen.

das ganze ist jetzt auf _root. getrimmt, sofern du viel mit irgendwelchen anderen level arbeitest, könnte man das _root durch _level+zahl ersetzen.

hab das ganze in der flash5-syntax geschrieben, hoffe das stört nicht...
 

Anhänge

  • zip.zip
    3,2 KB · Aufrufe: 82
DAAAAAAANKE :D

super! *freu* ich weiss zwar nicht woran es lag aber das nehm ich jetzt nochmal genau unter die lupe :)

NOCHMAL DANKE DANKE :))
 
Zurück