Problem mit dynamischem Scalierer

  • Hallo ihr Guten
    Ich möchte Bilder in eine swf per +1 einladen.
    ohne sie einzeln zu definieren.
    Die Bilder sind im Hoch und Quer format.
    (600x800 / 1200x1600 und umgedreht).
    Nach gescheiterten Versuchen mit Hittesten,
    habe ich probiert eine if/else if -Abfrage
    von der geladenen Bildgrösse des mc's zu machen
    und nach dessen Ergebnis das selbe Bild,
    in ein neuen mc zu laden,
    welches sich zu dem passenden Wert scaliert.
    Ich habe mal die Bildergrössen
    und eine fla hochgezippt,
    da es irgendwie nicht klappen will.


    Mein ButtonScript der in einem _root.mc liegt


    Nachdem ich den Button in den mc getan habe sagt er nur noch"weis nicht"
    :(
    Danke schon mal

  • Erstmal fragst Du die Breite falsch ab. versuch es mal mit

    PHP
    1. }else if (_root.lad._width==xxx){


    Dann gehe ich mal davon aus, dass noch nicht alles geladen ist, wenn Du die Breite schon abfragst, da bei jedem zweiten Bild folgendes trifft:

    PHP
    1. }else if (_root.lad._width==0){
    2. trace("ist null");


    Und sonst immer der alte Wert des vorherigen Bildes ausgegeben wird.

    Schau al in diese Richtung, sonst schau ich da heute Abenned nochmals nach, habe gerade wenig Zeit dazu.

  • Ich hatte es hier auch schon getestet, ich kam leider noch nicht dazu zu Antworten und eine Lösung zu erabeiten. Also das Problem ist wie Webcreate es schon sagte: Du mußt erstmal das _root einsetzen und die Abfrage geht zu schnell. Da wirst du erstmal eine Preloader einsetzen müssen und erst wenn das Bild geladen ist die Abfrage starten.

  • ach herje das _root..
    Hab das in der neuen fla geändert und auf 6er gespeichert.
    Hab dann den mc "lad" nach dessen Grösse abgefragt und ihr habt recht.
    Der mc "lad2" richtet sich nach dem alten Wert .
    Aber es ist eine gute Idee erst mal nach dem Ladezustand zu fragen,
    mal schauen ob ichs hinbekomm.
    Erstmal Tausend Dank fürs Weiterkommen

  • :p So Wanderratte ich hab mich also nicht ganz vor dir blamiert
    und mein dynamischen Scalierer für 1200x1600 und 1600x1200 eigentlich fertig.
    und für denjenigen die über google eine Lösung hier erwarteten,
    sei sie gegeben-auch wenns kein LuxusAS ist:


    Ich habe zwar nicht den genau den ladestand abgefragt aber mit einem ständigen onEnterFrame die Lage mit einem hitTest gecheckt.
    mc-> lad


    Darüber ne Decke gelegt damit keiner mitbekommt was drunter abgeht :D
    und ein lad2_mc oben rauf
    und im btn_vorwärts:

    PHP
    1. on (press) {
    2. // BilderZahl +1 aus _global.number=0 im1.Frame
    3. number++;
    4. _root.lad.loadMovie("ordnerName/bildName"+number+".jpg");
    5. _root.lad2.loadMovie("ordnerName/bildName"+number+".jpg");
    6. }


    Da es jedoch ein hitTest war, der eine Fläche prüfen sollte,
    wurde so natürlich kein Rücksicht auf 600x800 genommen.
    Aber was solls 1200x1800 ist das doppelte (muss man sie nur grösser machen)
    und mein liebstes Flash lädt nun alle fein scaliert ob Hoch oder Querformat
    zum Kaffee herein in best of quality und ich bin happy.
    (nicht nur das ich jetz endlich dsl hab) 8)


    liebe grüsse monchi
    und noch mal dank fürs anstossen

  • Ja das ist wahr Wanderratte.
    Es ist auch so lustig wenn man überlegt wie man`s machen könnte, kommt auf einmal schwupdiwupp beim Zähneputzen, Lebkuchen essen oder träumen eine mögliche Lösung und Flash ist wieder an und dann ist man so verdammt stolz wenns klappt.
    grüsse vom monchi