Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-07-2007, 16:20   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 96
array problem

hallo, ich schon wieder

folgender code funktioniert:

PHP-Code:
_root.ekholz.onPress = function() {
    if (
vgeld >= ekwholz) {
        
vholz vholz 1;
        
vgeld vgeld ekwholz;
    }

und folgender nicht:
PHP-Code:
handeleinkaufArray = new Array("holz", ); // hier stehen noch viele andere ressourcen
for (i=0i<handeleinkaufArray.lengthi++) {
    
_root["ek"+handeleinkaufArray[i]].onPress = function () {
        if (
vgeld >= _root["ekw"+handeleinkaufArray[i]]) {
            
_root["v"+handeleinkaufArray[i]]=_root["v"+handeleinkaufArray[i]]+1;
            
vgeld vgeld _root["ekw"+handeleinkaufArray[i]];
        }
    }

Im grunde ist es aber doch das allerselbe.
und ich möchte natürlich nicht 18 mal (für 18 erssourcen) den ersten teil schreiben, sondern das eben schön kompakt haben.

Kann mir jemand helfen?

edit: achja, sobald ich auf einen button klicke, wenn der zweite teil verwendet wird, steht in der variable "vgeld" nur noch "NaN" drin. falls das was hilft.
danke

Geändert von k-nuddel (02-07-2007 um 16:22 Uhr)
k-nuddel ist offline   Mit Zitat antworten
Alt 02-07-2007, 16:31   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Wäre mal interessant zu wissen, was in
PHP-Code:
_root["ekw"+handeleinkaufArray[i]]; 
überhaupt steht.
Da für die Variable NaN rauskommt - vielleicht ein String?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-07-2007, 18:19   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 96
also ich habe ganz viele variablen.
ekwholz, ekwbretter usw usw usw
und auch ekholz, ekbretter usw
und vholz, vbretter .. ... (das sind die ressourcen die dann auch angezeigt werden. also textfeld mit variablennamen)

dann hab ich den variablen werte zugewiesen:
ekwholz = 9;
ekwbretter = 15;
...
...


und dann kommt eben der teil irgendwann..

der erste code funktioniert ja auch genau so wie es soll. den könnte ich natürlich auch 18 mal in leicht veränderter form kopieren. aber das will ich ja nicht. und eigentlich müsste das doch so funktionieren, oder nicht? der erste teil is ja nix anderes als für "+handelseinkaufarray[i]" eben "holz" eingesetzt.
darum verstehe ichs ja nicht.

Zitat:
Da für die Variable NaN rauskommt - vielleicht ein String?
String? was is das? also ich hab nur variablen verwendet..

da in "handeleinkaufArray" ressourcen wie "holz", "bretter", "werkzeuge", "samen" usw stehen, und meine variablen eben ekwholz, ekwsamen, ekwbretter usw usw heissen, weiss ich nicht was ich noch falsch gemacht haben könnte.

Gruß
Flo

Geändert von k-nuddel (02-07-2007 um 18:23 Uhr)
k-nuddel ist offline   Mit Zitat antworten
Alt 02-07-2007, 18:23   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.136
Mach mal und schreibe mal, was rauskam.
ActionScript:
  1. handeleinkaufArray = new Array("holz", ); // hier stehen noch viele andere ressourcen
  2. for (i=0; i<handeleinkaufArray.length; i++) {
  3.     _root["ek"+handeleinkaufArray[i]].onPress = function () {
  4.         if (vgeld >= _root["ekw"+handeleinkaufArray[i]]) {
  5.             _root["v"+handeleinkaufArray[i]]=_root["v"+handeleinkaufArray[i]]+1;
  6.             vgeld = vgeld - _root["ekw"+handeleinkaufArray[i]];
  7.             trace(vgeld); // <- das hier
  8.         }
  9.     }
  10. }
Ich habe den Verdacht, du hast da einige Sachen falsch verstanden.
Omega Psi ist offline   Mit Zitat antworten
Alt 02-07-2007, 20:18   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 96
ja tut mir leid, ich kapiers echt nicht

nehmen wir mal an, ich habe folgenden code:
PHP-Code:
_root.ekholz.onPress = function() {
    if (
vgeld >= ekwholz) {
        
vholz vholz 1;
        
vgeld vgeld ekwholz;
    }
}  
_root.ekbretter.onPress = function() {
    if (
vgeld >= ekwbretter) {
        
vbretter vbretter 1;
        
vgeld vgeld ekwbretter;
    }
}  
_root.ekeisen.onPress = function() {
    if (
vgeld >= ekweisen) {
        
veisen veisen 1;
        
vgeld vgeld ekweisen;
    }

so. Mit Hilfe von arrays kann ich den ja wesentlich verkürzen.
Und genau das war es, was ich versucht habe, was aber eben nicht geklappt hat. und ich weiss nun echt nicht, wie ich das machen soll. In meiner Version sind das eben 18 solcher teile, und ich wollte das eben in ca. 10 Zeilen packen, und nicht in ca. 100. Meines Wissens nach hab ich alles richtig gemacht.
PHP-Code:
handeleinkaufArray = new Array("holz""bretter""eisen" );
for (
i=0i<handeleinkaufArray.lengthi++) {
    
_root["ek"+handeleinkaufArray[i]].onPress = function () {
        if (
vgeld >= _root["ekw"+handeleinkaufArray[i]]) {
            
_root["v"+handeleinkaufArray[i]]=_root["v"+handeleinkaufArray[i]]+1;
            
vgeld vgeld _root["ekw"+handeleinkaufArray[i]];
        }
    }

Gruß
der Verzweifelte ;-)
K-nuddel
k-nuddel ist offline   Mit Zitat antworten
Alt 03-07-2007, 18:38   #6 (permalink)
nobody is perfect
 
Benutzerbild von Decrone
 
Registriert seit: Apr 2002
Ort: Bremen
Beiträge: 3.049
schau mal ob es so funktioniert

PHP-Code:
var handeleinkaufArray = new Array("holz""bretter""eisen" ); 
for (var 
i=0i<handeleinkaufArray.lengthi++) { 
    
_root["ek"+handeleinkaufArray[i]].temp i;
    
_root["ek"+handeleinkaufArray[i]].onPress = function () { 
          if (
vgeld >= _root["ekw"+handeleinkaufArray[temp]]) { 
            
_root["v"+handeleinkaufArray[temp]]=_root["v"+handeleinkaufArray[temp]]+1
            
vgeld vgeld _root["ekw"+handeleinkaufArray[temp]]; 
        } 
    } 

innerhalb der onPress Funktion musst du Ihn den i-Wert mit übergeben!

Gruss Dec
__________________
FF Unterstützen! Erste Hilfe! häufig gestellten Fragen
...................... ............... ................................
Decrone ist offline   Mit Zitat antworten
Alt 04-07-2007, 10:38   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 96
ne geht nicht. vgeld wird zu NaN.
hab mich mittlerweile abgefunden 200 statt 20 zeilen code zu haben
k-nuddel 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 11:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele