Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-02-2011, 14:19   #1 (permalink)
Der einzig wahre
 
Registriert seit: Dec 2009
Beiträge: 65
auf dynamisch erstellten mc zugreifen

Hi, ich habe wieder mal ein kleines problemchen:

ich habe einen MC, den ich dynamisch erstelle.
er wird auf eine bestimmte größe gezogen, und es wird noch ein mc in ihm erstellt. das ganze wird in einer funktion gemacht.

der mc befindet sich in 2 weiteren mc's (editorField und container)

wenn ich jetzt in einer anderen Funktion den MC unsichtbar zu machen, bekomme ich einen Laufzeitfehler:
Zitat:
TypeError: Error #1010: Ein Begriff ist nicht definiert und hat keine Eigenschaften.
at Eprint/gridVidible()
wenn ich die beiden unterMc's aufrufe, funktioniert aber alles wunderbar.
der MC der dynamisch erstellt wird, liegt nicht in einer Bibliothek!
ich poste mal meinen Code:

PHP-Code:
// Code zum erstellen des MC's
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xffffff);
mc.graphics.drawRect(00outputWidthoutputHeight);
mc.graphics.endFill();
mc.0;
mc.0;
editorField.container.addChild(mc);

// Unsichtbar machen in einer anderen Funktion
private function gridVisible (MouseEvent):void {
    if (
gridVisibillity == true ) {
        
trace(editorField.container.mc.x);
        
//editorField.container.mc.mc2.visible = false;
        
gridVisibillity false;
    } else {
        
//editorField.container.mc.mc2.visible = true;
        
gridVisibillity true;
    }

gridVisibillity ist einfach nur eine Variable die zu anfang auf true gesetzt wird.
ich hoffe ihr wisst darüber bescheid.

LG: Yasar
__________________
if (girl.sexy == false) {
moveArround = true;
} else if (girl.sexy == true) {
kiss = true;
}
terminator60000 ist offline   Mit Zitat antworten
Alt 18-02-2011, 14:27   #2 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
Tippfehler.

gridVidible() != gridVisible()
__________________
digitale-avantgarde.com
shredding ist offline   Mit Zitat antworten
Alt 18-02-2011, 14:33   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 548
mc.visible=false;
Das reicht. Da du eine Variable als Referenz auf den MC hast, musst du ihn nicht in der Displaylist suchen.
joeydee ist offline   Mit Zitat antworten
Alt 18-02-2011, 14:49   #4 (permalink)
Der einzig wahre
 
Registriert seit: Dec 2009
Beiträge: 65
Zitat:
Zitat von shredding Beitrag anzeigen
Tippfehler.

gridVidible() != gridVisible()
fehler besteht trotzdem

und mc.visible = false;

bringt diesen Fehler:

/Users/ds/Desktop/Yasar/Arbeiten Ausbildung/E-Print/classes/Eprint.as, Line 285 1120: Access of undefined property mc.

ich poste mal die kompletten codes

PHP-Code:
public class Eprint extends MovieClip {
        private var 
menuBar:MenuBar;
        private var 
editorField:EditField;
        private var 
documentW:int 0;
        private var 
documentH:int 0;
        private var 
formatButtonDescription:URLLoader = new URLLoader();
        
// Array's
        
private var gridVisibillity:Boolean true;
        
// Bitmap Datas
        
private var screen:BitmapData;    
        
        private function 
createObjects ():void {
            
raster = new Grid();
            
            
// Dokumenten Hintergrund (Bearbeitungs Begrenzung wird erstellt)
            
var outputWidth:Number documentW 72 2.54;
            var 
outputHeight:Number documentH 72 2.54;
            var 
widthRound:int Math.ceil(outputWidth);
            var 
heightRound:int Math.ceil(outputHeight);
            
            
editorField = new EditField();
            
editorField.documentX;
            
editorField.documentY;
            
addChild(editorField);
            
            var 
mc:MovieClip = new MovieClip();
            
mc.graphics.beginFill(0xffffff);
            
mc.graphics.drawRect(00outputWidthoutputHeight);
            
mc.graphics.endFill();
            
mc.0;
            
mc.0;
            
editorField.container.addChild(mc);
            
            var 
mc2:MovieClip = new MovieClip();
            
mc2.graphics.drawRect(00outputWidthoutputHeight);
            
mc2.0;
            
mc2.0;
            
mc.addChild(mc2);
            
            
mc2.graphics.lineStyle20x000000 );
            
mc2.graphics.drawRect00mc2.width+1mc2.height+);
            
mc2.graphics.endFill();
            
            
screen = new BitmapData(outputWidthoutputHeightfalse0xffffff);
            
mc2.addChild(new Bitmap(screen));
            
            
            
raster.arrayHeight Math.ceil(outputHeight Grid.TILE_SIZE);
            
raster.arrayWidth Math.ceil(outputWidth Grid.TILE_SIZE);
            
            
raster.createGridArray();
            
raster.createtileArray();
            
raster.createBitmapArray();
            
            var 
grid:Array = raster.gridArray;
            var 
tiles:Array = raster.tileArray;
            var 
bitmaps:Array = raster.bitmapArray;
            var 
currentTile:uint;
            var 
currentBitmapInfo:String;
            var 
currentBitmap:BitmapData;
            
            for (var 
j:int 0grid.lengthj++) {
                for (var 
k:int 0grid[j].lengthk++) {
                    
currentTile grid[j][k];
                    
currentBitmapInfo tiles[currentTile]["bitmap"];
                    
currentBitmap bitmaps[currentBitmapInfo];
                    
screen.copyPixels(currentBitmapcurrentBitmap.rect, new Point(Grid.TILE_SIZE Grid.TILE_SIZE), nullnulltrue);
                }
            }
            
            
// Menüleiste wird auf die Bühne gezogen
            
menuBar = new MenuBar;
            
menuBar.menuX;
            
menuBar.menuY;
            
addChild(menuBar);
            
            
menuBar.rasterButton.addEventListener(MouseEvent.CLICKgridVisible);
            
        }
        
        private function 
gridVisible (MouseEvent):void {
            if (
gridVisibillity == true ) {
                
//trace(editorField.container.mc.x);
                
mc.visible false;
                
gridVisibillity false;
            } else {
                
//editorField.container.mc.mc2.visible = true;
                
gridVisibillity true;
            }
        }
        
        private function 
startFunctions ():void {
            
this.addEventListener(Event.ENTER_FRAMEupdate);
            
this.addEventListener(MouseEvent.MOUSE_DOWNmousePressed);
            
this.addEventListener(MouseEvent.MOUSE_UPmouseDontPressed);
        }
    }

So das ist die abgespeckte version meines Codes, ich hoffe ich hab nicht zu viel gelöscht... wenn ihr fragen habt, oder lösungen. ich bitte darum^^

LG: Yasar
__________________
if (girl.sexy == false) {
moveArround = true;
} else if (girl.sexy == true) {
kiss = true;
}

Geändert von terminator60000 (18-02-2011 um 14:50 Uhr)
terminator60000 ist offline   Mit Zitat antworten
Alt 20-02-2011, 19:16   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 548
Natürlich musst du deine Variable mc über die Funktion hinaus bekannt machen (Stichwort: Scope=Gültigkeitsbereich). Also ganz oben in der Klasse unter private var deklarieren.
joeydee ist offline   Mit Zitat antworten
Alt 22-02-2011, 08:36   #6 (permalink)
Der einzig wahre
 
Registriert seit: Dec 2009
Beiträge: 65
Oh ja, stimmt, ist mir freitag auch auf dem Weg nach Hause eingefallen :-D

naja jetzt konnte es ändern, und es funktioniert alles so wie es soll =)

LG: Yasar
__________________
if (girl.sexy == false) {
moveArround = true;
} else if (girl.sexy == true) {
kiss = true;
}
terminator60000 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
<br> in dynamisch erstellten textfeld stern1001 Flash CS3 Professional 5 23-09-2008 14:45
draggen von dynamisch erstellten MCs nqdesigns Flash Einsteiger 2 07-04-2008 23:01
[OOP] In einer Klasse auf zuvor erstellten MovieClip zugreifen kn!ght ActionScript 2 7 11-08-2006 11:30
onMouseDown auf dynamisch erstellten MC greyTux ActionScript 1 11 26-04-2005 09:11
mit eigenem erstellten pfad auf textfeld zugreifen? floyd ActionScript 1 11 25-07-2004 20:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele