Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-09-2005, 12:35   #1 (permalink)
licence to chill
 
Benutzerbild von nic-man
 
Registriert seit: Sep 2005
Ort: B*A*S*E*L
Beiträge: 290
Question Probs. mit if() bei einer function() ...

hey jungs ich bin gerade am programmieren für ein Flash-Game aber habe ein kleines Prob. damit wie ich Punkte zuordnen kann...
ActionScript:
  1. // Zufallsnummer generieren
  2. function getZufallsnummer() {
  3.     if (numbersArr.length == 0) {
  4.         makeNumberList(3);
  5.         // Zahl zwischen  1 und (X)
  6.     }
  7.     return numbersArr.splice(Math.floor(Math.random()*numbersArr.length), 1);
  8. }
  9. button1.onPress = function() {
  10.     //
  11.     // 1. karte geben
  12.         //
  13.     k1 = getZufallsnummer();
  14.     movx = 70;
  15.     movy= 310;
  16.     tiefe= 1;
  17.     _root.attachMovie("karte"+k1, "karte"+k1+tiefe, tiefe);
  18.     setProperty("_root.karte"+k1+tiefe, _x, movx );
  19.     setProperty("_root.karte"+k1+tiefe, _y, movy);
  20.     //
  21.     // Punkte für Karten geben
  22.     //
  23.     if (k1 == 1) {
  24.         _root.punkte = _root.punkte+5;
  25.     }
  26.     if (k1 == 2) {
  27.         _root.punkte = _root.punkte+10;
  28.     }
  29.     if (k1 == 3) {
  30.         _root.punkte = _root.punkte+15;
  31.     }
  32. }
Flash erkennt zwar beim Befehl "_root.attachMovie" die generiete Zahl "k1" aber nicht bei der "if ( )" Bedingung... dh er addiert die Punkte nicht dazu.
wenn ich aber für "k1 = random(3)" eingebe funktioniert es...!? ich frage mich wo mein fehler liegt und was muss ich tun, damit es funktioniert? oder handelt es sich hier um einen bug

thx im vorraus für die hilfe
mfg nic™
nic-man ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:39   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Ist wahrscheinlich ein String.
ActionScript:
  1. if (Number(k1) == 1) {
  2. ...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:40   #3 (permalink)
trace('kolja');
 
Benutzerbild von koljap
 
Registriert seit: Mar 2004
Ort: EU->DE->NRW
Beiträge: 145
Lightbulb

bau doch mal "überall" trace(Var.); ein, dann finden man bestimmt wo es falsch ist.
koljap ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:43   #4 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Hab jetzt flash nicht vor mir, aber versuch das mal

ActionScript:
  1. return Number(numbersArr.splice(Math.floor(Math.random()*numbers  Arr.length), 1));

es wandelt den string in eine Zahl, sofern es möglich ist. besteht der Array nur aus zahlen, ist es kein Problem, sollte gehen
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:44   #5 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
und bei der funktion

ActionScript:
  1. function getZufallsnummer() :Number {

so wird der compiler schon motzen, falls er keine Zahl zurück gibt
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:57   #6 (permalink)
licence to chill
 
Benutzerbild von nic-man
 
Registriert seit: Sep 2005
Ort: B*A*S*E*L
Beiträge: 290
nei hab ich schon versucht mit trace.... es gibt eine zahl aus. k1 ist zahl!
nur in der nächsten zeile bei if erkennt er es nicht....

die datei ist auf http://home.intergga.ch/nic/problem.rar

vielleicht findet ihr ja eine lösung

mfg nic™
nic-man ist offline   Mit Zitat antworten
Alt 30-09-2005, 12:59   #7 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
also bitte, trace weiss doch nicht ob es eine zahl oder ein string ist, er gibt einach das aus, was in der variabel steht.


mach doch mal
ActionScript:
  1. trace(typeof(k1));
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:01   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tolle Zahl!
ActionScript:
  1. trace(typeof k1)// --> object
  2.  
ActionScript:
  1. k1 = Number(getRandomNumber().toString())
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:01   #9 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
er gibt sogar ein objekt aus, nicht mal nen string...
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:06   #10 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
ActionScript:
  1. return numbersArr[Math.floor(Math.random()*numbersArr.length)]

so gehts
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:07   #11 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
kann den index ja direkt ansteuern...
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:09   #12 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Zitat:
Zitat von Der Frager
Tolle Zahl!
ActionScript:
  1. trace(typeof k1)// --> object
  2.  
ActionScript:
  1. k1 = Number(getRandomNumber().toString())

ist nicht mal nötig, so kompliziert zum machen. es genügt, wenn die funktion angepasst wird, indem auf den index zugegriffen wird, da er nur eine zahl braucht. so gibt er auch die zahl zurück, und kein objekt wie beim .slice() befehl
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:23   #13 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ja, schon klar. Allerdings bleibt die Zahl dann im Array. Aber auch wurscht...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 30-09-2005, 13:25   #14 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Zitat:
Zitat von Der Frager
Ja, schon klar. Allerdings bleibt die Zahl dann im Array. Aber auch wurscht...
achso, das darf sie ned?! ja dann liege ich natürlich voll daneben
pixelarts ist offline   Mit Zitat antworten
Alt 30-09-2005, 16:28   #15 (permalink)
licence to chill
 
Benutzerbild von nic-man
 
Registriert seit: Sep 2005
Ort: B*A*S*E*L
Beiträge: 290
danke jungs, ihr seid spitze !!

mfg nic™
nic-man 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 02:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele