2016-04-13 10 views
0

Ich arbeite gerade an einem Spiel-Prototyp in Flash und in der Vergangenheit habe ich normalerweise Arrays vermieden, was bedeutet, dass ich relativ neu für sie bin, aber in dem Spiel, das ich gerade mache, gibt es ein automatisiertes Element muss ich mich nun in die Welt der Arrays begeben.Actionscript 3.0 Array Problem

Also im Wesentlichen, was ich versuche zu tun, haben 7 Objekte, lassen Sie uns sagen Boxen zum Beispiel jede hat eine Instanz von Box + ihre Nummer (Box1, Box2, etc.) in meinem Spiel. 6 dieser Boxen sind bis auf eine von ihnen unsichtbar (Box1). Aber wenn ich auf eine Schaltfläche klicke, wird die nächste Box sichtbar (Box2, Box3, etc.).

Also, was ich tat, war ich ein Array erstellt 7 Werte enthält, von „1“ bis „7“

Dann habe ich ein ein ENTER_FRAME Ereignis, das ich, welche der Boxen sind unsichtbar zu finden haben will, so hier ist das, was ich zum ersten Mal versucht:

var array1:Array = ["1", "2", "3", "4", "5", "6", "7"]; 

So dies offensichtlich das Array ist, und dann habe ich dies:

if(this["box"+ array1].visible == true) { 
// Trace The Visible Boxes // 
} 

ich weiß also, das nicht funktioniert, aber im wesentlichen, was ich versuche zu tun ist det ect welche der Boxen sichtbar sind und dann diese Boxen verfolgen. Ich würde wirklich jede Hilfe oder Führung zu schätzen wissen, danke!

Antwort

3

Sie brauchen nicht wirklich ein Array für das, nur die Kontrollkästchen von 1 bis 7:

for (var i:int = 1; i < 8; i++) 
{ 
    if(this["box" + i].visible) 
    { 
     trace("Box " + i + " is visible"); 
    } 
} 

Aber wenn Sie mit einem Array tun müssen, dass, weil es einige komplexe Werte sein würde, wäre es be

for (var i:int = 0; i < array1.length; i++) 
{ 
    if(this["box" + array1[i]].visible) 
    { 
     trace("Box " + i + " is visible"); 
    } 
} 
+0

Brilliant, vielen Dank! – user1666767

+0

Sagen Sie, wenn ich es ein wenig ändern wollte und anstatt Spur zu tun ("Box + i +" ist sichtbar ") für nur eine, aber ich wollte es für jeden tun, so wie wenn 2 Kästchen sichtbar sind, verfolgen "Box1 ist sichtbar", aber auch um "Box2 ist sichtbar" zu erkennen Ich weiß auf einer kleinen Menge wäre es einfach genug, aber wenn ich es in Zukunft auf 1.000 Boxen skalieren möchte, wäre es einfacher, wirklich zu schätzen! – user1666767

+0

nvm Ich habe es haha, tut mir leid, ich bin dumm damit, danke nochmal für deine Hilfe – user1666767