Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2005, 19:23   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
text mit variable ändern

Hallo Leute,
ich möchte eine dyn. Landkarte machen. Die einzelnen "Orte" auf der Karte sind Ordner mit Textdateien in denen die Position steht. Das mache ich alles mit php:
PHP-Code:
<?PHP
$verz 
opendir("spots");
$afile 0;
while (
$file readdir ($verz)) {
    if(
$file != "." && $file != "..") {
        
$afile++;
        echo 
"&".$afile."txt=".$file;
        
$datei "spots/$file/pos.txt";
        
$fp fopen($datei,"r");
        
$zahl fgets($fp,10);
        
fclose($fp);
        
$array explode("x",$zahl);
        echo 
"&".$afile."x=".$array[0]."&".$afile."y=".$array[1];
    }
}
echo
"&anzahl=".$afile."& ";
closedir($verz);
?>
das gibt mir dann z.B. das aus:
Code:
&1txt=Ort1&1x=290&1y=50&2txt=Ort2&2x=200&2y=300&anzahl=2&
mit flash möchte ich das dann so einlesen:
PHP-Code:
textladen = new LoadVars();
textladen.onLoad = function(geladen) {
    if (
geladen) {
        
this.anzahl;
        while (
i>=1) {
            
duplicateMovieClip("_root.spot""spot"+ii);
            
newspot "spot"+i;
            
setProperty(newspot_xthis[i+"x"]);
            
setProperty(newspot_ythis[i+"y"]);
            
newspot.txt.sp_txt this[i+"txt"];
            
i--;
        }
    }
};
textladen.load("system.php"); 
die positionen stimmen beim aufruf schon, nur es wird kein text angezeigt.
Irgendwelche Vorschläge? (wahrscheinlich was einfaches, bin nicht sehr fit in flash as, hab das forum schon durchsucht, aber nichts entsprechendes gefunden)
silkscreen ist offline   Mit Zitat antworten
Alt 13-12-2005, 00:11   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
i = this.anzahl;
this.anzahl ist ein String und keine Zahl, also besser mit Number() umwandeln.

Außerdem wäre ich mit Variablen, die mit einer Zahl beginnen, immer sehr vorsichtig...

Ach ja, und setProperty ist uraltes Flash 4, nimm besser die modernere Punktsyntax, z.B.:
PHP-Code:
//Flash 4:
setProperty(newspot_xthis[i+"x"]);

//Flash6/7/8:
newspot._x this[i+"x"]; 
  Mit Zitat antworten
Alt 13-12-2005, 08:31   #3 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
richtig, soweit ich weiss, dürfen/sollten variablen nicht mit einer zahl und oder sonderzeichen beginnen...

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 14-12-2005, 11:45   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
Danke für die Tipps, Schreibweise in Punktsyntax funktioniert jedoch leider nicht.
Mein Problem ist diese Zeile
PHP-Code:
newspot.txt.sp_txt this[i+"txt"]; 
wenn ich anstatt "newspot" z.B. spot1 oder spot2 schreibe funktioniert es(Text in dem duplizierten Mc wird angezeigt).
silkscreen ist offline   Mit Zitat antworten
Alt 14-12-2005, 12:09   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Versuchs mal so:
PHP-Code:
this[newspot].txt.sp_txt this[i+"txt"]; 
  Mit Zitat antworten
Alt 14-12-2005, 12:17   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
Nein, funktioniert leider auch nicht.
silkscreen ist offline   Mit Zitat antworten
Alt 14-12-2005, 12:35   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was gibt denn ein trace("newspot="+newspot) im Testmodus aus?
  Mit Zitat antworten
Alt 14-12-2005, 14:37   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
Geht nicht. Wenn man den Film so aufruft, stürzt er ab, muss auf einem server liegen. Hab eine ähnliche adtei mal angehängt. Könnt ihr euch ja mal anschauen wenn ihr Lust und Zeit habt. ^^
Angehängte Dateien
Dateityp: rar spot.rar (21,8 KB, 4x aufgerufen)
silkscreen ist offline   Mit Zitat antworten
Alt 14-12-2005, 14:39   #9 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
Zitat:
Zitat von silkscreen
Geht nicht. Wenn man den Film so aufruft, stürzt er ab..
dafür hab ich dann doch keine zeit und lust...
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 14-12-2005, 14:58   #10 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
In der Zeit, in der du das geschrieben hast, hättest´s du dir leicht mal anschauen können.
Zitat:
Zitat von silkscreen
Geht nicht. Wenn man den Film so aufruft, stürzt er ab..
...liegt am php-script.
silkscreen ist offline   Mit Zitat antworten
Alt 14-12-2005, 15:38   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wenn man den Film so aufruft, stürzt er ab, muss auf einem server liegen
Der Fehler liegt in deinem Flashscript. Wenn du Daten empfangen willst, benötigst du die sendAndLoad-Methode der LoadVars-Klasse. Und du bekommst immer Strings zurückgeliefert, auch wenn das Zahlenstrings sind. Also erst mit Number() umwandeln:
Versuch mal das:
PHP-Code:
textladen = new LoadVars();
textladen.onLoad = function(geladen) {
    if (
geladen) {
        var 
Number(this.anzahl);
                
trace("i="+i);
        while (
i>=1) {
            
duplicateMovieClip(_root.spot"spot"+ii);
            
this["spot"+i].txt.sp_txt this[i+"txt"];
            
this["spot"+i]._x this[i+"x"]);
            
this["spot"+i]._y this[i+"y"]);
            
i--;
            
        }
    }
};
textladen.sendAndLoad("pos.php",textladen,"POST"); 
  Mit Zitat antworten
Alt 14-12-2005, 15:47   #12 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
Zitat:
Zitat von agedoubleju
Der Fehler liegt in deinem Flashscript
stimmt so meiner meinung nach nicht.
die php wird in der IDE nicht geparsed, da sie nich von einem server aufgerufen wird.
damit enthält das LoadVars-object den php-quellcode und keine variablen, und das
script funktioniert somit nicht mehr...

einfach von 'http://localhost/deinproject/spot.php' laden und fertig

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 14-12-2005, 15:49   #13 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich bin natürlich davon ausgegangen, dass das PHP-Script auf einem Server aufgerufen wird, sonst kann das ja auch nicht funzen...

Ohne Server und Middleware wäre wohl ein Textfile eher angebracht.
  Mit Zitat antworten
Alt 14-12-2005, 16:10   #14 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 10
Ich hab die Lösung:
PHP-Code:
_root["spot"+i].txt.sp_txt.text this["txt"+i]; 
silkscreen 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele