Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-09-2008, 18:55   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 112
Unhappy Dynamisch erstellte MCs einzeln ansprechen

Hallo Zusammen!

Ich habe das Problem, dass ich meine dynamisch erstellten MCs nicht ansprechen kann. Habe folgendes Script:

PHP-Code:
var selectItems:Array = new Array();

for (var 
i:int 0numResultsi++) {        
        
select[i] = new MovieClip();
    
select[i].name "selectBG" i;
    
select[i].37;
    
select[i].= (27 i) + 85;
    
select[i].alpha 0;
    
selectItems.push(select[i]);
    
addChild(select[i]);

this[selectItems[i]].addEventListener(MouseEvent.CLICKclickHandler);
         function 
clickHandler(event:MouseEvent) {
            
event.target.alpha 100;
       }

Hierbei bekomme ich die Meldung: Zugriff auf eine nicht definierte Eigenschaft select. Setze ich davor "this." funktioniert es soweit:

PHP-Code:
var selectItems:Array = new Array();

for (var 
i:int 0numResultsi++) {        
        
this.select[i] = new MovieClip();
    
this.select[i].name "selectBG" i;
    
this.select[i].37;
    
this.select[i].= (27 i) + 85;
    
this.select[i].alpha 0;
    
this.selectItems.push(this.select[i]);
    
addChild(this.select[i]);

this[selectItems[i]].addEventListener(MouseEvent.CLICKclickHandler);
         function 
clickHandler(event:MouseEvent) {
            
event.target.alpha 100;
       }

Gehe ich dann in die Vorschau, bekomme ich Medlung: Ein Begriff ist nicht definiert oder hat keine Eigenschaft.

Möchte die einzelnen MC nicht über ".name" anprechen, deswegen dieser Lösungsweg.

Kann mir jemand sagen, was hier nicht passt? Komme leider nicht drauf!

Danke schonmal!
Designworks ist offline   Mit Zitat antworten
Alt 08-09-2008, 19:17   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.141
Du musst selectedItems verwenden. Wo soll denn select herkommen?
Omega Psi ist offline   Mit Zitat antworten
Alt 08-09-2008, 19:27   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 112
Oh danke! Wie blind kann man nur sein.... ;-)

Folgend der Code:

PHP-Code:
 for (var i:int 0numResultsi++) {
        
selectItems[i] = new MovieClip();
        
selectItems[i].name "selectBG" i;
        
selectItems[i].37;
        
selectItems[i].= (27 i) + 85;
        
selectItems[i].alpha 0;
        
selectItems.push(selectItems[i]);
        
addChild(selectItems[i]);
        
        
        
selectItems[i].addEventListener(MouseEvent.CLICKclickHandler);
         function 
clickHandler(event:MouseEvent) {
            
event.target.alpha 100;
           }

__________________
Diese Nachricht ist 100% biologisch abbaubar.

Geändert von Designworks (08-09-2008 um 19:47 Uhr)
Designworks ist offline   Mit Zitat antworten
Alt 08-09-2008, 21:09   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 112
Jetzt muss ich leider nochmals das Flashforum mit meinen Problemen zu AS3 nerven. Möchte jetzt beim Click-Event nicht den Ursprungsbutton ändern sondern einen weiteren, welcher analog des ersten Buttons mit der for-Schleife generiert wird.

PHP-Code:
var selectItems:Array = new Array();

for (var 
i:int 0numResultsi++) {        
        
this.select[i] = new MovieClip();
    
this.select[i].name "selectBG" i;
    
this.select[i].37;
    
this.select[i].= (27 i) + 85;
    
this.select[i].alpha 0;
    
this.selectItems.push(this.select[i]);
    
addChild(this.select[i]);

this[selectItems[i]].addEventListener(MouseEvent.CLICKclickHandler);
         function 
clickHandler(event:MouseEvent) {
           
BGItems[i].alpha 100// Hier wird immer der letzte generierte Button "BGItems" mit alpha geändert
       
}

Hoffe es ist verständlich... :-)

Und sorry für die Anfänger fragen - AS3 ist ganz schön anders! ;-)
__________________
Diese Nachricht ist 100% biologisch abbaubar.
Designworks ist offline   Mit Zitat antworten
Alt 08-09-2008, 21:22   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 112
So, habs selbst hinbekommen! :-) Für die jenigen, die auch mal so ein Problem haben, hier die einfache Lösung:

PHP-Code:
selectItems[i] = new emptySelect();
        
selectItems[i].name "emptySelect" i;
        
selectItems[i].37;
        
selectItems[i].= (27 i) + 85;
        
selectItems[i].alpha 0;
        
selectItems[i].navID i;
        
selectItems.push(selectItems[i]);
        
addChild(selectItems[i]);
        
        
        
        
selectItems[i].addEventListener(MouseEvent.CLICKselect_CLICK);
        function 
select_CLICK(event:MouseEvent):void {
            
selectBGItems[event.currentTarget.navID].alpha 100;
        } 
PS: So langsam gefällt mir AS3!
__________________
Diese Nachricht ist 100% biologisch abbaubar.
Designworks ist offline   Mit Zitat antworten
Alt 09-09-2008, 10:56   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Würd es dann auch in den AS3 Bereich und nicht in den AIR Bereich posten.


Greets.
Nico B. ist gerade online   Mit Zitat antworten
Alt 09-09-2008, 19:19   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 112
EIGENTLICH richtig, nur habe ich den Umstieg von AS2 auf AS3 nur durch AIR gemacht und bin gerade dabei (mein erstes) Projekt zu machen und weiß noch nicht so recht, ob es unterschiede zwischen AS3 und AS3+AIR gibt.

Daraus resultiert gleich mal meine nächste Frage:
Gibt es Unterschiede? :-)
__________________
Diese Nachricht ist 100% biologisch abbaubar.
Designworks ist offline   Mit Zitat antworten
Alt 10-09-2008, 15:32   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Nein, es gibt keine Unterschiede.

Programmiert wird in "AIR" immer noch mit As3 so wie Du es kennst und liebst.
Allerdings sind durch AIR einige neue Funktionen dazugekommen, die in der Doku mit dem AIR-Logo gekennzeichnet sind. (DatenbankZugriffe, Filezugriffe, NativeWindow and so on....)


Greets, Nico

Hier die Doku:
http://livedocs.adobe.com/flash/9.0/...fV3/index.html
Nico B. ist gerade online   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 14:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele