Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-06-2005, 17:06   #1 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Varaible Instanznamen .. ?

Hallo!

Inwiefern lassen sich Instanznamen mit Variablen ansprechen?

Beispiel:
Ich hab 100 Movieclips auf meiner Bühne. Sie haben folgende Instanznamen: testclip_01, testclip_02, testclip_03, testclip_04, testclip_05, usw...
Nun möchte ich alle diese Buttons unsichtbar machen. Ich könnte nun also schreiben:
ActionScript:
  1. testclip_01._visible = false;
  2. testclip_02._visible = false;
  3. testclip_03._visible = false;
  4. testclip_04._visible = false;
  5. testclip_05._visible = false;
usw... usw...
Is natürlich ziemlich umständlich. Gibt es eine Möglichkeit Instanznamen Variable anzusprechen? Ich stelle mir da z.B. eine for-Schleife vor:
ActionScript:
  1. for(i=1;i<101;i++){
  2. testclip_0i._visible = false;
  3. }
Natürlich spreche ich mit "testclip_0i" einen ganz anderen MC an, der nicht existiert.
Wie kann man Instanznamen variabel machen .. ? Danke schon mal im vorraus!

Gruss,
Dwarf
djdwarf ist offline   Mit Zitat antworten
Alt 28-06-2005, 17:13   #2 (permalink)
Neuer User
 
Benutzerbild von sascha wenning
 
Registriert seit: Jun 2001
Ort: NRW
Beiträge: 357
So:
//this ist die referenz auf die zeitleiste,
//wo sich die clips befinden
this["testclip"+i]._visible = false;


ich würde der Einfachheit halber die Instanznamen dann mit testclip1, testclip2, ..., testclip19 bezeichnen.

Grüße!
Sascha
sascha wenning ist offline   Mit Zitat antworten
Alt 28-06-2005, 17:15   #3 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Ahh .. feine Sache! Hab mir doch gedacht, dass das irgendwie gehen muss

Besten Dank!
djdwarf ist offline   Mit Zitat antworten
Alt 29-06-2005, 10:54   #4 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Verständnissfrage

Ok, an sich klappt das schon. Wollte das jetzt erweitern und nun funktioniert es nicht mehr. Kannst du mir sagen, was ich falsch mache?

Ich möchte z.B. den Movieclip "testclipa1" ansprechen.

ActionScript:
  1. x=a;
  2. y=1;
  3. this["testclip"+x+y]._visible = false;
Funktioniert aber nicht .... warum?
djdwarf ist offline   Mit Zitat antworten
Alt 29-06-2005, 10:58   #5 (permalink)
Neuer User
 
Benutzerbild von sascha wenning
 
Registriert seit: Jun 2001
Ort: NRW
Beiträge: 357
Was wird das denn?

Probier mal so:
x="a";
y="1";
this["testclip"+x+y]._visible = false; //ergibt testclipa1
sascha wenning ist offline   Mit Zitat antworten
Alt 29-06-2005, 11:04   #6 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Ach jaaaaaaaaaaaaaaa! *jaul* a is ja natürlich ein String *gegenstirnklatsch* ... manchmal ist man einfach zu doof.
Is noch zu früh am morgen oder so .... *auf Uhr guck* ... verdammt. nee .. dann wars grad doch nur doofheit ... danke *g*
*pfeif* *träller* *unauffälligwegschleich*
djdwarf ist offline   Mit Zitat antworten
Alt 29-06-2005, 17:40   #7 (permalink)
o_0
 
Benutzerbild von DoTheSinWave
 
Registriert seit: Apr 2005
Ort: zuhause
Beiträge: 79
diesselbe dummhei* hat mir auch schon viel Nerven gekostet...
weiß nicht viele Stunden ich da gesessen bin xD, aber jetzt merk ichs mir bis an mein lebensende
DoTheSinWave ist offline   Mit Zitat antworten
Alt 27-03-2006, 09:35   #8 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Nach nem 3/4 Jahr rufe ich den Thread wieder ins Leben


Bissher kam ich nun soweit immer ganz gut klar damit, aber grade klappt es einfach nicht.


Ich habe 9 MC's die per Zufall über die Bühne wandern. Nun möchte ich 9 Textfelder die sich horizontal mit den MC's mitbewegen. Habe folgendes probiert erstmal zum testen:

PHP-Code:
_root.a=1;
onEnterFrame_mc.onEnterFrame= function() {
        
_parent.textfeld_1._x=this["light_"+_root.a]._x
Texfeld_1 sollte nun an light_1 "angeheftet" sein .. klappt aber nicht.

so wiederum funktioniert es:
PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {
        
_parent.textfeld_1._x=light_1._x;
 } 
Was mach ich denn da falsch? *grübel*
djdwarf ist offline   Mit Zitat antworten
Alt 27-03-2006, 09:39   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Morgen!

this bezieht sich auf den MC, auf dem der oEF liegt...
PHP-Code:
onEnterFrame_mc.onEnterFrame= function() { 
        
this._parent.textfeld_1._x=this._parent["light_"+_root.a]._x
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 27-03-2006, 09:55   #10 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Moinsen Frager!

Daran lags wohl leider nicht. Wie gesagt folgendes Script funtioniert:


PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {
        
_parent.textfeld_1._x=light_1._x;
 } 
Hmm .. *nochmaltest*..... jap, damit läuft's
djdwarf ist offline   Mit Zitat antworten
Alt 27-03-2006, 10:06   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hmmm... Muss aber gehen (wenn der MC auch "_parent" liegt)?!??! Könntest auch eval nehmen. Ist aber etwas "unschön"...
PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {  
        
this._parent.textfeld_1._x=eval("light_"+_root.a)._x;  

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 27-03-2006, 10:26   #12 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Geht echt nich. Auch das eval funzt nicht

Aufbau ist so: Textfelder liegen neben einem "moving_lights" MC. Darin befinden sich die 9 "light_"MCs sowie der onEnterFrame_MC und das besagte Script. Habe nu nochmal folgendes probiert:

PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {  
        
this._parent._parent.textfeld_1._x=this._parent("light_"+_root.a)._x;  

Aber ebenfalls nichts ... Glaube es liegt nicht an den Pfaden. Da muss irgendwie n Denkfehler oder so drin stecken. Zum Test:

PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {  
         
_parent.textfeld_1._visible false;
         
light_1._visible false;

Es verschwindet das Textfeld und auch das light_mc. Also Pfade müssen so stimmen.
djdwarf ist offline   Mit Zitat antworten
Alt 27-03-2006, 10:31   #13 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
öhm... sollte das dann nicht einfach so aussehen?!
PHP-Code:
onEnterFrame_mc.onEnterFrame = function() {  

        
this._parent._parent.textfeld_1._x this._parent["light_" _root.a]._x;  
        

ansonsten mal die fla/sample fla uppen...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 27-03-2006, 10:42   #14 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Jetzt gehts!

Aber das gleiche hatte ich doch eben auch getestet .. ?! ... *nachguck*

Zitat:
PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {  
        
this._parent._parent.textfeld_1._x=this._parent("light_"+_root.a)._x;  

och neee ... *jauuul* ... ich Idiot hatte die () statt [] vom eval noch drin *gegenstirnklatsch* .. lol ^^
Also doch die Pfade. Aber wieso funktioniert dann das:
PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {
        
_parent.textfeld_1._x=light_1._x;
 } 
? Müsste dann doch auch korrekterweise

PHP-Code:
onEnterFrame_mc.onEnterFrame= function() {
       
this._parent._parent.textfeld_1._x=this._parent.light_1._x;
 } 
sein. Hmm .... versteh ich mal wieder nicht...


aber hauptsache nu läufts, vielen Dank euch beiden
djdwarf ist offline   Mit Zitat antworten
Alt 17-08-2006, 12:22   #15 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Und nach nun über einem Jahr rufe ich den Thread das zweite mal ins Leben



Ich habe ein Objekt:

PHP-Code:
_level0.graph_1.point_1 
Dieses möchte ich nun über Variabeln ansprechen. Leider bekomm ich den Syntax nicht richtig hin.

PHP-Code:
a=1;
b=1;

trace(_root["graph_"+a].["point_"+b]) 
Is falsch

PHP-Code:
trace(_root["graph_"+a]["point_"+b]) 
Geht auch nicht. Wie müsste das korrekt aussehen .. ?


Gruß,
Dwarf
djdwarf 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 08:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele