(php variable) Bild in Flash anzeigen

Nappi

Mitglied
Hallo zusammen

Ich hab da ein mittelgroßes Problem!

Ich lese mit php in einem Ordner und dessen Unterordner alle Bilder aus, klappt bestens, nun möchte ich die so erzeugte Variable an Flash übergeben und das Bild dann anzeigen.

Allerdings habe ich bei Flash so meine Probleme und bekomme das einfach nicht hin.

hier mal mein Ansatz:




Code:
<?php 
function getFiles($dir)  
{ 
    static $files; 
     
    $allowed_file_extensions = array(); 
    $allowed_file_extensions[] = 'gif'; 
    $allowed_file_extensions[] = 'bmp'; 
    $allowed_file_extensions[] = 'jpg'; 
    $allowed_file_extensions[] = 'jpeg'; 
    $allowed_file_extensions[] = 'png'; 
     
     
    $len = strlen($dir); 
    if($dir{$len-1} == '/') 
        $dir = substr($dir, 0, $len-1); 
     
    if(!is_dir($dir)) 
        return false; 
         
    $open = @opendir($dir); 
     
    if(!$open)  
        return false; 
     
    while($file = readdir($open)) {         
        if($file == "." || $file == "..")     
            continue; 
         
        if(is_dir($dir.'/'.$file)) { 
            getFiles($dir.'/'.$file); 
        }     
             
        $e = explode('.', $file); 
        $ext = $e[ count($e)-1 ]; 
         
        if( is_file($dir.'/tn_'.$file) && in_array($ext, $allowed_file_extensions) ) { 
            $files[] = $dir.'/tn_'.$file; 
        } 
    } 
     
    return $files; 
} 


$files = getFiles('bildordner/'); 
$rand = mt_rand(0, count($files)-1); 
echo "&bild=<img src=" . $files[ $rand ] . ">";
?>

dieser Teil klappt noch aber in Flash wird mir das leider nicht so übernommen wie ich das gerne hätte.

hier mein Ansatz:


Code:
myVars = new LoadVars ();
myVars.onLoad = function (success) {
    if (success) {
        _root.mein_mc.loadMovie(this.bild);
    } else {
        trace ("es ist ein fehler beim Laden der PHP-Datei aufgetreten");
    }
}
myVars.load("auslesen.php", "GET");


Mir erscheind nur ein wweißer Bildschirm :(

Weiß von euch jemand was ich da falsch mache?

Danke im voraus

Nappi
 
Zuletzt bearbeitet:
Hi,

PHP:
echo "&bild=<img src=" . $files[ $rand ] . ">";
Damit steht in der Variable "bild" des LoadVars-Objektes folgendes:
Code:
trace(this.bild); // Ausgabe: <img src="dateiname.jpg">
Mit einem img-Tag kann Flash nicht viel anfangen - mit einem Dateinamen schon, also schreibe:
PHP:
echo "&bild=".$files[ $rand ];

Gruß
.
 
Vielen Dank erstmal für deine rasche Antwort!

Ich hab das gleich mal probiert das Ergebnis war zumindest kein leerer Bildschirm mehr.

es wird jetzt

_level0.bild

angezeigt aber leider noch immer kein Bild.

Nappi
 
Hi,

dann hast Du etwas falsch gemacht (1. die loadMovie-Aktion in eine trace-Aktion umgewandelt bzw. 2. die Variable nicht als Member des LoadVars-Objektes ausgegeben, sondern als Member der Hauptzeitleiste).

Poste bitte einmal Deinen aktuellen Code oder die .fla.

Gruß
.
 
In dieses kleine Fenster sollen die Bilder bei jedem neuem öffnen eingefügt werden.
 

Anhänge

  • bild.zip
    77,4 KB · Aufrufe: 157
Hi,

ich weiß ehrlich gesagt nicht ganz, was ich mit dieser Datei anfangen soll. Du hast:
  • auf der Hauptzeitleiste 20 Schlüsselbilder, von denen jedes eine Instanz des MC "Symbol 46" (bitte benennt Ehre Symbole sinnvoll; es hilft sehr, sich in einer Datei zurechtzufinden!) enthält

  • in diesem MovieClip eine Instanz von "Symbol 45", wobei es sich um eine Grafik handelt.

  • In diesem Grafiksymbol steht Dein Code, der aber nicht ausgeführt wird, da in Grafiksymbolen generell kein AS ausgeführt wird.

    Auch wenn der Code ausgeführt werden würde (Du müsstest dafür das Symbol in einen MovieClip umwandeln), macht er an dieser Stelle keinen Sinn, da er dann in jedem einzelnen Schlüsselbild der Hauptzeitleiste durchlaufen wird: Du kannst kein Bild laden, indem Du die entsprechende Aktion 12 mal pro Sekunde ausführst - jedes Mal, wenn der Abspielkopf einen neuen Frame betritt, überschreibst Du Dein LoadVars-Objekt und den Listener dafür.

  • nirgendwo auf der Hauptzeitleiste einen MC mit dem Instanznamen "mein_mc", in den Du anscheinend ein Bild laden willst.

Gruß
.
 
Sorry das es nicht so toll ist - aber was Flash angeht bin ich noch ein absoluter Neuling. HTML und PHP sind mir ganz gut geläufig aber mit Flash habe ich bislang nur so viel zu tun gehabt als das ich swf files integriert habe und die laufen lies.

Gibt es eine Möglichkeit wie dieses fla ordentlich zum laufen gebracht werden kann? - oder soll ich gleich neu anfangen und hoffen, dass ich irgendwann dahinter steige wie es geht?

Danke für die Hilfe

Nappi
 
Hi,

Du wirst nicht umhin kommen, das was Du bisher erstellt hast, vollkommen neu aufzubauen, um das von Dir gewünschte Verhalten zu realisieren.

Sage mit bitte, was wann in welchen MovieClip geladen werden soll, und wie sich die Schaltfläche als ganze verhalten soll, dann poste ich Dir gerne ein Beispiel.

Gruß
.
 
Das wäre super :) danke

Also es soll eine Schaltfläche sein hinter der sich ein Thumbnail (deshalb das „tn_“ vor dem Filenamen) aus einem Bilderarchiv verbirgt.

Als kleine Spielerei wollte ich, dass diese Schaltfläche kurz aufblinkt wenn man darüber fährt und wenn man draufklickt kommt ein Sound.

Der Link der dabei geöffnet werden soll ist dann das Bilderarchiv mit dem großen bild.

Das war’s dann auch schon. Den link erzeuge ich mit php und übergebe ihn als variable was für mich dann die nächste Herausforderung darstellen wird :).

Danke für deine Mühe im Voraus

Nappi
 
Hi,

im Anhang findest Du eine lauffähige Version.

Ein Tipp zur Übergabe des Links:

Gib die Link-URL mit dem selben Script aus:
PHP:
echo("&bild=".$files[ $rand ]);
echo("&link=".$linkvariable);

Im onLoad-Handler des LoadVars-Objektes kannst Du diesen Link dann für eine getURL-Aktion verwenden:
Code:
lv.onLoad = function(success) {
    if (success) {
        mcl.loadClip(this.bild, ct); // Bild mit dem MovieClipLoader laden
        setLink(this.link); // <-- HIER
    } else {
        trace ("es ist ein fehler beim Laden der PHP-Datei aufgetreten");
    }
}

function setLink(l) {
    this.onRelease = function() {
        getURL(l, "_self");
    }
}

Gruß
.
 

Anhänge

  • bild2.zip
    7,4 KB · Aufrufe: 152
Zurück