• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-03-2010, 12:10   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
Bilder werden nicht angezeigt

Hallo,
ich habe ein Foto in 72 Teile geteilt und möchte es mit Flash wieder zusammensetzen. Die entsprechenden Bilddatei-Namen sind in einer XML-Datei hinterlegt. Sowohl die Fotos als auch die XML-Datei befinden sich auf einer Ebene.

Als mögliche Ursachen sehe ich die Bildung des XML-Strings und die Einbindung der Fotos in den Movieclip. Ich habe schon so viel recherchiert, probiert, variiert und umgestellt – ich bekomme nur immer ein weißes Fenster, jedoch keine Fehlermeldung!

Zunächst einmal das Actionscript..

Code:
stop();

var XMLdat_adr = [];

var XMLdat = new XML();
XMLdat.ignoreWhite = true;
XMLdat.load("show.xml");

function Anzeigen(){
	for(lid = 0; lid <= 71; lid++ ){
		
		neues_bild = ["bild_innen" + lid];
		
		createEmptyMovieClip(rahmen,lid);	
		this.rahmen.createEmptyMovieClip(neues_bild, lid);		
		
		trace(XMLdat_adr[lid]);	// Testausgabe der zusammengesetzten XML-Daten
		this.rahmen._x = 200;
		this.rahmen._y = lid * 4;
		this.rahmen._xscale = 100;
		this.rahmen.neues_bild.loadMovie(XMLdat_adr[lid]);
	}
}

XMLdat.onLoad = function(success) {
	if(success){
		for(lid = 0; lid <= 71; lid++ ){
			if(lid <= 9){
				stellen = "0" + lid;
			} else {
				stellen = lid;
			}
			XMLdat_adr[lid] = ["XMLdat.firstChild.childNodes[0].attributes.adr"+stellen];
		}
	}
	Anzeigen();
}

...und hier die Struktur der XML-Datei:

Code:
<bilder>
     <bild adr00="ahex00.jpg" adr01="ahex01.jpg" adr02="ahex02.jpg" … adr71="ahex71.jpg"></bild>
</bilder>
Es würde mich freuen, wenn mir Jemand helfen könnte.

Schöne Grüße, Ralf
Rebuver ist offline   Mit Zitat antworten
Alt 14-03-2010, 12:42   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
Hallo ...

Du erstellst dem MC "rahmen" ja auch immer wieder neu.
Außerdem gehört der Name in Anführungszeichen - sonst ist er "undefined"
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-03-2010, 14:52   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
Hallo,

ich habe nun den Movieclip 'rahmen' ausserhalb der for-Schleife platziert und mit Anführungszeichen versehen. Die Erstellung des Movieclips 'neues_bild' sollte sich dann so darstellen:

Code:
this.rahmen.createEmptyMovieClip("'" + neues_bild + "'", 2);
Die Variable 'lid' habe ich durch eine 2 ersetzt, da sich alle Bildteile auf einer Ebene befinden können.

Es ist aber leider noch kein einziges Bild sichtbar.
Rebuver ist offline   Mit Zitat antworten
Alt 14-03-2010, 15:32   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
Die 2 ist nicht die Ebene, sondern die Tiefe. Und auf einer Tiefe kann immer nur ein Objekt liegen - also das musst du auf jeden Fall wieder ändern.
Es wäre auch einfacher dir zu helfen, wenn man mal ein Beispiel hätte.

Aber hier gehört so oder so auch noch eckige Klammern für den Bezeichner hin:
PHP-Code:
this.rahmen[neues_bild].loadMovie(XMLdat_adr[lid]); 
edit: ...und so hier (ohne Klammer)
PHP-Code:
neues_bild "bild_innen"+lid
und hier auch ohne "'":
PHP-Code:
this.rahmen.createEmptyMovieClip(neues_bildlid); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (14-03-2010 um 15:35 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 14-03-2010, 16:12   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
Das Skript habe ich angepasst.

Sofern die Syntax richtig ist...

Code:
this.rahmen[neues_bild].loadMovie(XMLdat_adr[lid]);
...verursacht diese Zeile folgenden Fehler:

Error opening URL "file:///..
Rebuver ist offline   Mit Zitat antworten
Alt 14-03-2010, 16:47   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
Dann stimmt halt mit XMLdat_adr[lid] irgendwas nicht. Da sollte ja normalerweise das zu ladende Bild drin stehen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-03-2010, 17:15   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
Das Problem ist in der Tat bei der XMLdat_adr[lid] zu suchen, bzw. bei der Bildung des entspechenden Strings. Momentan steht es ja so da:

Code:
XMLdat_adr[lid] = ["XMLdat.firstChild.childNodes[0].attributes.adr"+stellen];
Es sollte eher in der Art..

Code:
XMLdat_adr[lid] = XMLdat.firstChild.childNodes[0].attributes.adr45;
..denn so funktioniert es.

Nur wie bekomme ich die Variable 'stellen' an XMLdat.firstChild.childNodes[0].attributes.adr ..?
Rebuver ist offline   Mit Zitat antworten
Alt 14-03-2010, 17:46   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
PHP-Code:
XMLdat_adr[lid] = XMLdat.firstChild.childNodes[0].attributes["adr"+stellen]; 
...aber ob das nun generell so sinnig ist...?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-03-2010, 18:07   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
Jetzt geht es endlich! Vielen Dank für Deine Geduld!!!

Was hast Du eigentlich damit gemeint? '...aber ob das nun generell so sinnig ist...?'
Rebuver ist offline   Mit Zitat antworten
Alt 14-03-2010, 18:18   #10 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.482
*kopfkratz*

Die Dinger sind doch fortlaufend durchnummeriert, richtig?
Und es sind 71 Bilder, richtig?

Frage: Wozu dann überhaupt die XML?
Soll das später dynamisch werden?
Wenn nein: kannst die Bilder doch dann direkt in Flash pullen
und Dir den XML-Teil sparen ...

Wenn ja, mein Vorschlag: über ein PHP-Script den/die Ordner auslesen, welches
daraus eine XML generiert. So könnte das z.B. aussehen

PHP-Code:
<?php

function read_dir($dir) {
    
$path opendir($dir);
    while (
false !== ($file readdir($path))) {
        if(
$file!="." && $file!="..") {
            if(
is_file($dir."/".$file)){
                
$files[]=$file;
            } else {
                
$dirs[]=$dir."/".$file;
            }
        }
    }
    if(
$dirs) {
        
natcasesort($dirs);
        foreach(
$dirs as $fdir) {
            
$name substr($fdirstrlen($dir)+1);
            echo
"    <node label=\"$name\" >\n";
            
read_dir($fdir);
            echo
"    </node>\n";
        }
    }
    if(
$files) {
        
natcasesort($files);
        foreach (
$files as $file) {
            echo 
"    <node label=\"$file\" src=\"$dir/$file\" />\n";
        }
    }
    
closedir($path);
}
$path="your/file/path";
echo
"<?xml version=\"1.0\"?>\n\n<tree>\n";
read_dir($path);
echo
"</tree>";
?>
Erstmal hast Du jedes einzelne Bild dann in einem Kindknoten stehen (und nicht
in einem Attribut), zweitens kannst Du dann anhand der Kindknoten-Länge
die Anzahl der Bilder ermitteln, nja weißte ja.
~pyropete~ ist offline   Mit Zitat antworten
Alt 14-03-2010, 18:20   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
Zitat:
Zitat von Rebuver Beitrag anzeigen
Was hast Du eigentlich damit gemeint? '...aber ob das nun generell so sinnig ist...?'
Weil's ja auch so ginge:
PHP-Code:
for (var i in XMLdat.firstChild.childNodes[0].attributes) {
            
trace(XMLdat.firstChild.childNodes[0].attributes[i])
        } 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-03-2010, 19:05   #12 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 6
@Der Frager: Etwas kürzer und einfacher ist das schon. Nur was wäre, wenn andere Attribute wie Höhe, Breite oder Beschreibung hinzukommen würden. Dann könnte man das so auch nicht nutzen.

@~pyropete~: Wie es Anfänger halt so mögen - einfach und übersichtlich. Im Grunde experimentiere ich mit Flash und sammle Erfahrungen. Im Hinterkopf habe ich dafür eine dynamische Lösung. Abgesehen davon, dass ich auch schon mit PHP programmiert habe, ist dieses PHP-Skript ohne weitere Filter und Abfragen für diesen Zweck ungeeignet. Was ist z.B., wenn man weitere Fotos hinzufügen möchte? Eine fortlaufende Indizierung der Fotos ist dann nicht möglich.
Keine Frage, es ist eine interessante Idee und man kann sie ausbauen. Vielen Dank auch für Deine Tipps!
Rebuver ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] Bilder werden nicht angezeigt anny Flash Einsteiger 2 13-08-2009 20:27
Bilder werden nicht angezeigt DNAofDeath Flash CS3 Professional 53 13-01-2008 22:59
Bilder werden nicht angezeigt labrar PHP und MySQL 9 18-04-2006 00:38
Bilder werden nicht angezeigt nets-rac Flash Einsteiger 2 21-03-2006 21:13
Bilder werden nicht angezeigt JES01 ActionScript 1 3 07-12-2004 16:07


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele