Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-05-2010, 15:10   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation Klasse abgeleitet von MovieClip

Ich habe eine eigene Klasse von der MovieClip-Klasse abgeleitet.
Ich instantiiere diese Klasse und füge die neue Instanz mit stage.addChild(...) der Stage hinzu.

Im Programmverlauf fügt die benutzerdefinierte Klasse eigene Elemente zu sich hinzu.
Leider erscheint hiervon gar nichts auf der Stage. - Muss ich etwas validaten/refreshen?

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 09-05-2010, 16:23   #2 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
hi firemice,

Zitat:
Muss ich etwas validaten/refreshen?
eigentlich nicht. da müsste man jetzt die klasse sehen, um dir näheres sagen zu können.

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 09-05-2010, 16:52   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation

Die ableitende Klasse:
Code:
public class Test extends MovieClip {
		public function initView():void {			
			var display_txt:TextField = new TextField();
			display_txt.text = "Hello World!";
			addChild(display_txt);
		}
}
Verwendung in dem 1. Frame der Stage:
Code:
var test:Test = new Test();
stage.addChild(test);
test.initView();
Leider taucht das Textfeld überhaupt nicht auf!

Mir ist noch etwas anderes Interessantes aufgefallen:
Wenn ich die Breite / Höhe (width / height) der abgeleiteten Klasse wie bei einem normalen MovieClip ändere, dann ergibt this.width / this.height in der Klasse selbst stets den Wert 0.
Ich verwende jetzt zunächst zwei selbstdefinierte Eigenschaften (myWidth / myHeight) - wobei ich aber liebend gerne eher die nativen Eigenschaften (width / height) dafür verwenden würde.

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice

Geändert von Firemice (09-05-2010 um 16:59 Uhr)
Firemice ist offline   Mit Zitat antworten
Alt 09-05-2010, 17:08   #4 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
hmm,

deine klasse müsste eigentlich so aussehen. jede klasse hat eine öffentliche funktion, die den selben namen hat, wie die klasse selbst. in der kannst du initView dann auch gleich aufrufen, wodurch der aufruf im 1. frame unnötig wird (sofern du das willst).

PHP-Code:
package{
        
import flash.display.MovieClip;//Sorry, hat ich vergessen -_-*
        
import flash.text.TextField;
        public class 
Test extends MovieClip {
                public function 
Test():void{
                        
initView();
                }
                public function 
initView():void {            
                    var 
display_txt:TextField = new TextField();
                    
display_txt.text "Hello World!";
                    
addChild(display_txt);
                }
        }

mfg

sx
__________________

flintfabrik.de

Geändert von shin10 (09-05-2010 um 17:29 Uhr)
shin10 ist offline   Mit Zitat antworten
Alt 09-05-2010, 17:30   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation

Ich habe das jetzt mal so versucht - aber gebracht hat es leider nichts.
Das Textfeld wird immer noch nicht angezeigt.
Da fällt mir gerade noch ein, dass diese MovieClip-Klasse ja vom Inhalt her noch völlig leer ist. - Muss ich diese denn nicht erst noch auf der Stage "aufspannen"?
Oder passt sich die Breite des MovieClips dann automatisch an den Inhalt - also dieses Test-Textfeld an - und ein vorheriges / nachträgliches Aufspannen wäre damit obsolet?

Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 09-05-2010, 17:45   #6 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.042
hmmmm...Textfarbe = Hintergrundfarbe ?
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 09-05-2010, 20:19   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation

Zitat:
Zitat von milchreis Beitrag anzeigen
hmmmm...Textfarbe = Hintergrundfarbe ?
Der Hintergrund ist ein helles Grau. Der Text müsste doch von default her eine schwarze Farbe besitzen und deswegen sichtbar sein, oder?

EDIT: Und wie kann ich im Debug-Modus auslesen, welche childs der MovieClip hat?

Vielen Dank für eure Antworten im Voraus!
Mit freundlichen Grüßen
Firemice

Geändert von Firemice (09-05-2010 um 20:41 Uhr)
Firemice ist offline   Mit Zitat antworten
Alt 09-05-2010, 22:22   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
var test:Test = new Test();
stage.addChild(test);
test.initView();
Das beisst sich irgendwie... Entweder du erstellst eine statische Klasse ohne einen Konstruktor und rufst die Eigenschaften der Klasse ohne Instanziierung auf, also nur die dritte Zeile (test.initView). Oder du erstellst eine nichtstatische Klasse, dann benötigst du aber einen Konstruktor und kannst den Text wie von shin gezeigt direkt über eine Startfunktion aufrufen.

Alternative mit Konstruktor:
PHP-Code:
package{
        
import flash.display.*;
        
import flash.text.*;

        public class 
Test extends MovieClip {
                public function 
Test(txt:String):void{
                    var 
display_txt:TextField = new TextField();
                    
display_txt.text txt;
                    
addChild(display_txt);
                }
                
        }
}  
//Aufruf bspw.:
//var test:Test = new Test("Hallo Welt");
//addChild(test); 
  Mit Zitat antworten
Alt 10-05-2010, 03:24   #9 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
mal ein schuss ins blaue...
du hast nicht noch irgend einen mc mit dem selben namen in deiner bibliothek oder so?
manchmal sinds ja totale kleinigkeiten, die einen dann in den wahnsinn treiben...
mir kommt das alles so seltsam vor

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 10-05-2010, 15:32   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation

Ich habe den Grund gefunden:
Sobald ich die width- oder height-Eigenschaft einer Instanz der von MovieClip abgeleiteten Klasse verändere, verschwindet der platzierte MovieClip einfach.
Ist aber finde ich ein richtiger Bug in Flash...

Mit freundlichen Grüßen
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 10-05-2010, 16:56   #11 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
wär mir jetzt neu, dass das passiert
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 11-05-2010, 00:49   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Sobald ich die width- oder height-Eigenschaft einer Instanz der von MovieClip abgeleiteten Klasse verändere, verschwindet der platzierte MovieClip einfach.
Ist aber finde ich ein richtiger Bug in Flash...
Kann ich mir auch nicht vorstellen, zeig mal ein Beispiel.
  Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abgeleitet, addchild, eigene klasse, movieclip, stage

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
Klasse und MovieClip attachen zeigt immer nur den letzten MovieClip an misterbo ActionScript 2 3 04-09-2006 14:55
In eigener Klasse (nicht von MovieClip abgeleitet) attach movie aufrufen Warappa ActionScript 1 2 23-08-2006 10:41
Problem abgeleitet MovieClip Klasse - Laden von externen SWFs tricky Softwarearchitektur und Entwurfsmuster 3 06-01-2006 14:42
MovieClip-Methoden undefined obwohl von MovieClip abgeleitet riccs Softwarearchitektur und Entwurfsmuster 8 20-05-2005 12:47
Klasse von MovieClip abgeleitet, doch eine Frage hab ich da noch :-) argv Softwarearchitektur und Entwurfsmuster 2 08-11-2004 11:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele