Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2006, 20:52   #1 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
Fehler bei Counter // NaN

habe einen Counter der mir die Trefferzahl von meinen Spielern anzeigen soll.

um die Anzeige zu aktuallisieren habe ich follgende Funktion:
PHP-Code:
function countertext_aktual(player){
    
    
this.Hintergrund["counter_pl"+player+"_txt"].text "Player "+player+" : "+[counter_pl+player] +" von "+ziel;
    
this.Hintergrund["counter_pl"+player+"_txt"].setTextFormat(my_fmt);
    } 
der Counter zeigt nun aber nu dies hier an:

Code:
Player 1 : NaN von 1

Ich sollte vielleicht noch dazusagen, dass es für jeden player eine Countervariable namens : counter_pl1, counter_pl2 g usw. gibt.

Danke schon mal

Geändert von Papaligo (21-06-2006 um 21:07 Uhr)
Papaligo ist offline   Mit Zitat antworten
Alt 21-06-2006, 22:37   #2 (permalink)
Pharao a.D.
 
Benutzerbild von Tut-ench-aton
 
Registriert seit: Jul 2004
Ort: 29°58'33.34'' N, 31°07'49.29'' O
Beiträge: 430
ich würde sagen, der Fehler liegt hier:
PHP-Code:
...[counter_pl+player]... 
Es müsste eher heißen:
PHP-Code:
this.Hintergrund["counter_pl"+player+"_txt"].text "Player "+player+" : "+["counter_pl"+player] +" von "+ziel
du hast nur die Gänsefüßchen vergessen.
Tut-ench-aton ist offline   Mit Zitat antworten
Alt 21-06-2006, 22:43   #3 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
leider nicht,
wenn ich das so mache schreibt er mir alles aus.

also:

Code:
Player 1 : counter_pl1 von 2
usw.

das komische ist ja, das es genau diese (counter_pl1) Variable gibt, aber ich will den inhalt da stehen haben

Geändert von Papaligo (21-06-2006 um 22:44 Uhr)
Papaligo ist offline   Mit Zitat antworten
Alt 21-06-2006, 22:47   #4 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
PHP-Code:
this.Hintergrund["counter_pl"+player+"_txt"].text "Player "+player+" : "+this.Hintergrund["counter_pl"+player] +" von "+ziel
den pfad ergessen dann stimmt auch die aussage mit den gänsefüsschen
projecktx ist offline   Mit Zitat antworten
Alt 21-06-2006, 22:53   #5 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
????? warum nen pfad angeben wenn es sich um eine Variable handelt??

vorallem was bedeutet das NaN das er mir anzeigt?
Papaligo ist offline   Mit Zitat antworten
Alt 21-06-2006, 22:56   #6 (permalink)
machtmichschlau!
 
Benutzerbild von Papaligo
 
Registriert seit: Apr 2006
Beiträge: 62
was vielleicht auch noch weiter helfen könnte:

wenn ich eine Variable deklariere die "counter_pl" heist, dann zeigt er mir einen Wert an.
aber halt den, den ich für die für die Variable eingegeben habe + den player

bsp.:
counter_pl = 0
Player Übergabewert = 1

Anzeige = 1

Geändert von Papaligo (21-06-2006 um 22:58 Uhr)
Papaligo ist offline   Mit Zitat antworten
Alt 22-06-2006, 07:31   #7 (permalink)
knighToFdemonS
 
Benutzerbild von KampfRatte[LiX]
 
Registriert seit: May 2003
Beiträge: 67
try this:

Code:
function countertext_aktual(player,counter_pl){
        Anweisungen;
        .................
    }
und deklarier mal die Variable im ersten Bild/Frame von deiner fla-Datei, also auf der HZL:
var counter_pl = 0;

und aufrufen dann mit:
Code:
coutertext_aktual(player,counter_pl);
uuund zu guter letzt:
Wie und wo lässt du counter_pl bestimmen? Also wo kriegt das Ding seinen Wert?

mFg
knighToFdemonS

PS:
Im Notfall post einfach mal die fla
HelpDesk funktioniert wesentlich besser mit was Handfestem

Geändert von KampfRatte[LiX] (22-06-2006 um 07:33 Uhr)
KampfRatte[LiX] ist offline   Mit Zitat antworten
Alt 22-06-2006, 09:46   #8 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
gugstu die eine zeile van mich da...


hattest du hier die falsche synthax
:
[counter_pl+player]

weil guste bei deine eigene zeile sich in erste stele haben ähnliche instanz wie variablennamen

this.Hintergrund["counter_pl"+player+"_....


also war annahme das varibale in

+this.Hintergrund["counter_pl"+player]

und nicht in "this"
projecktx ist offline   Mit Zitat antworten
Alt 22-06-2006, 15:07   #9 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Du musst die runde Klammer benutzen.
PHP-Code:
function countertext_aktual(player) {
    
this.Hintergrund["counter_pl"+player+"_txt"].text "Player "+player+" : "+(counter_pl+player)+" von "+ziel;
    
this.Hintergrund["counter_pl"+player+"_txt"].setTextFormat(my_fmt);

__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 23-06-2006, 08:06   #10 (permalink)
knighToFdemonS
 
Benutzerbild von KampfRatte[LiX]
 
Registriert seit: May 2003
Beiträge: 67
PS: Is doch kein unterschied von der syntax her mit den klammern oder?? ob eckig oder rund macht keinen unterschied, oder doch? ich hatte bis jetzt noch nie probs mit eckigen klammern

PPS:
Zitat:
Zitat von projecktx
gugstu die eine zeile van mich da...


hattest du hier die falsche synthax
:
[counter_pl+player]

weil guste bei deine eigene zeile sich in erste stele haben ähnliche instanz wie variablennamen

this.Hintergrund["counter_pl"+player+"_....


also war annahme das varibale in

+this.Hintergrund["counter_pl"+player]

und nicht in "this"
wenn das einer verstanden hat, möge er mir das bitte erklären
ich glaub du meinst da er this.Hintergrund anspricht versucht flash die variable ebenfalls aus this.hintergrund zu ziehn, wos aba keine variable gibt. also dasses dann _root.player heissen müsste weil ansonsten this.hintergrund.player angesprochen wird ?!?!?!?!?!?????

Geändert von KampfRatte[LiX] (23-06-2006 um 08:08 Uhr)
KampfRatte[LiX] ist offline   Mit Zitat antworten
Alt 23-06-2006, 10:34   #11 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Zitat:
Zitat von KampfRatte[LiX]
PS: Is doch kein unterschied von der syntax her mit den klammern oder?? ob eckig oder rund macht keinen unterschied, oder doch? ich hatte bis jetzt noch nie probs mit eckigen klammern
Das stimmt nicht.

() - Operator

Verwendung 1: Bestimmt die Reihenfolge, in der die Operatoren im Ausdruck ausgeführt werden. Runde Klammern setzen die automatische Vorrangreihenfolge außer Kraft und bewirken, dass die Ausdrücke in Klammern zuerst ausgewertet werden. Bei verschachtelten Klammern wird der Inhalt der innersten Klammern vor dem Inhalt der äußeren Klammern ausgewertet.

[] - Operator

Initialisiert ein neues Array oder ein neues multidimensionales Array mit den angegebenen Elementen (a0 usw.) bzw. greift auf Elemente in einem Array zu. Mit dem Array-Zugriffsoperator können Namen von Instanzen, Variablen und Objekten dynamisch gesetzt und abgerufen werden. Sie können den Operator auch zum Zugriff auf Objekteigenschaften verwenden.
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 23-06-2006, 19:35   #12 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
Zitat:
Zitat von KampfRatte[LiX]
ich glaub du meinst da er this.Hintergrund anspricht versucht flash die variable ebenfalls aus this.hintergrund zu ziehn, wos aba keine variable gibt. also dasses dann _root.player heissen müsste weil ansonsten this.hintergrund.player angesprochen wird ?!?!?!?!?!?????
so ähnlich.. ich war davon ausgegangen das die variable ebenfalls lokal ist und deswegen nict zur verfügung steht...

abe versuch mal anstelle von:

+[counter_pl+player] +

das

+(Number(counter_pl)+player) +

wenn das nicht geht lass dir mal counter_pl anzeigen ds ist entweder undefined, ein bololean, ein array oder ein string, wenns denn eine variable ist aber auf garkeinen fall eine nummer(zahl)
projecktx ist offline   Mit Zitat antworten
Alt 25-06-2006, 12:34   #13 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Zitat:
Zitat von Papaligo
habe einen Counter der mir die Trefferzahl von meinen Spielern anzeigen soll...
...Ich sollte vielleicht noch dazusagen, dass es für jeden player eine Countervariable namens : counter_pl1, counter_pl2 g usw. gibt.
Ich hatte dich erst nicht richtig verstanden.
Aber da folgendes funktioniert, würde ich projecktx zustimmen.
Deine Variable solltest du dort deklarieren, wo auch die funktion steht.
Oder du weißt den Pfad dahin. Dann setzt du ihn vor die eckige Klammer.
PHP-Code:
this.createEmptyMovieClip("Hintergrund"1);
this.Hintergrund.createTextField("counter_pl0_txt"1202044050);
this["counter_pl"+0] = 5;
countertext_aktual(0);
//
function countertext_aktual(player) {
    
this.Hintergrund["counter_pl"+player+"_txt"].text "Player "+player+" : "+this["counter_pl"+player]+" von "+ziel;
    
this.Hintergrund["counter_pl"+player+"_txt"].setTextFormat(my_fmt);

__________________
Gruß, Jey!
jeypack 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 16:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele