Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-08-2003, 13:33   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Ort: wien
Beiträge: 519
mc's verifizieren

also wie ist das nun wenn man dyn erstellte mc's hat und man möchte abfragen wie das mc nun heisst. wie macht man das? und was ist eval? braucht man das in MX überhaupt noch?

wäre froh wenn mir das wer erklären könnte..

lg
dr.pug ist offline   Mit Zitat antworten
Alt 01-08-2003, 14:04   #2 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
hi

leg mal einen mc mit der linkage 'clip' in deine
bibliothek und dieses script in frame 1 von _root:
ActionScript:
  1. var counter = 1;
  2. function foo() {
  3.     var mc = _root.attachMovie('clip', 'clip'+counter, counter);
  4.     trace(mc._name);
  5.     mc._x = Math.round(Math.random()*550);
  6.     mc._y = Math.round(Math.random()*400);
  7.     counter++
  8. }
  9.  
  10. setInterval(foo,1500)

das gleiche spiel mit eval()

ActionScript:
  1. var counter = 1;
  2. function foo() {
  3.     _root.attachMovie('clip', 'clip'+counter, counter);
  4.     var mc= eval('clip'+counter)
  5.     trace(mc._name);
  6.     mc._x = Math.round(Math.random()*550);
  7.     mc._y = Math.round(Math.random()*400);
  8.     counter++
  9. }
  10.  
  11. setInterval(foo,1500)

Mit der Funktion eval() können Namen von Instanzen und
Variablen dynamisch erstellt werden und abgerufen werden.
wichtig zu wissen: eval() wird seit mx nicht mehr auf der
linken seite des zuweisungsoperators akzeptiert.

das gleiche geht aber auch mit dem zugriffsoperator ([]):
ActionScript:
  1. var counter = 1;
  2. function foo() {
  3.     _root.attachMovie('clip', 'clip'+counter, counter);
  4.     mc=_root['clip'+counter]
  5.     trace(mc._name);
  6.     mc._x = Math.round(Math.random()*550);
  7.     mc._y = Math.round(Math.random()*400);
  8.     counter++
  9. }
  10.  
  11. setInterval(foo,1500)


gruss skyla

Geändert von Skyla (01-08-2003 um 14:09 Uhr)
Skyla ist offline   Mit Zitat antworten
Alt 01-08-2003, 14:49   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Ort: wien
Beiträge: 519
hab nämlich in meinem duplizierten mc einen button, in dem steht
ActionScript:
  1. _root.new3.animation.element = _root.new3.animation.element+"S";

ich will aber nur das der befehl aufgerufen wird wenn ich tatsächlich auch nur über "new3" drüberfahre...

aber ich bekomme soviele "S" angehängt weil ich auch über

new1
new2
new4
new5
new6
etc.
drüberfahre...

beispiel: Esel
esel+s =esels
bei mir kommt aber

eselsssssss (also 6 s zuviel)
dr.pug ist offline   Mit Zitat antworten
Alt 01-08-2003, 15:03   #4 (permalink)
-=|=-
 
Registriert seit: Jul 2001
Ort: münchen
Beiträge: 776
also wenn ich das jetzt richtig verstehe, dann musst du bei jedem rollover prüfen ob der mc auch new3 ist.

in etwa so: if(this == _root.new3) // do it

wie genau deine verschachtelung ist weiß ich jetzt nicht, aber wäre ein ansatz.

jazz
jazz ist offline   Mit Zitat antworten
Alt 01-08-2003, 15:37   #5 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
Zitat:
_root.new3.animation.element = _root.new3.animation.element+"S";
versteh ich jetzt nicht ganz...

aber hier ein bsp, mit der if-abfrage, wie von jazz
vorgeschlagen.
Angehängte Dateien
Dateityp: zip btn_duplic.zip (2,6 KB, 2x aufgerufen)
Skyla 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 22:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele