Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-01-2012, 16:32   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Ort: Augsburg
Beiträge: 6
bei ausgelagerter Klasse wird addChild() nicht ausgeführt.

hallo,

oh, hoffentlich kann mir jemand helfen... wir sollen alle unsere klassen auslagern und das habe ich grad ausprobiert, aber irgendwie ruft er zwar mein addrepository() auf - legt es mir aber nicht auf die Bühne, weiß jemand wo mein Fehler liegen könnte?

Main.as
Code:
package  {
	
	import flash.display.MovieClip;
	import flash.events.Event;	
	import view.view;

	
	public class Main extends MovieClip {

		public var dino: view;

		public function Main() {
			this.addEventListener(Event.ENTER_FRAME, test);
			}
			
		public function test(b:Event):void {
			
			this.removeEventListener(Event.ENTER_FRAME, test);
			
			dino = new view();
			
			dino.addrepository();
			}

	}
}
view.as
Code:
package view {
	
	import flash.display.MovieClip;
	
	public class view extends MovieClip{

		public var figure:MovieClip;

		public function view() {
			super();			
		}
		
		
		public function addrepository() {
			
			trace ("wird aufgerufen");
			
			figure = new repository();
							
			//Position:
			figure.x= 300;
			figure.y= 300;
			
			addChild(figure);
			
			trace ("wird aufgerufen");
			}
	}
	
}

Geändert von Martin Kraft (03-01-2012 um 16:43 Uhr)
Brav ist offline   Mit Zitat antworten
Alt 03-01-2012, 16:50   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Du addest zwar figure in View nicht aber die View-Instanz dino in Main:
ActionScript:
  1. addChild(dino);

P.S.:
  • Was verstehst Du unter »alle unsere klassen auslagern«? Klassen (zumindest solche mit Code) sind doch immer in .as-Dateien ausgelagert
  • Klassennamen sollte immer mit einem Großbuchstaben beginnen (also View statt view).
  • Ich finde es zudem unglücklich das Paket genauso zu nennen wie die Klasse!
  • Was ist denn der Sinn dieser seltsamen Event.ENTER_FRAME-Konstruktion in Main?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 03-01-2012, 17:00   #3 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Dieses onEnterFrame-Gehüpfe wird gäufig bei Komponenten-Frameworks genutzt ("Deferred Rendering"), hat an dieser Stelle jedoch wenig Sinn. Ich mache da manchmal eine onAddedToStage-Abfrage - was in diesem Fall auch nicht unbedingt notwending ist.

Ich möchte Martins Tipps außerdem wie folgt ergänzen:
  • Funktionen sollten im lowerCamelCase geschrieben werden, dass erleichtert die Lesbarkeit unheimlich!
  • Funktionen sollten sinnvolle Namen erhalten: Deine Funktion "test" könnte auch "onEnterFrame" heißen, alles andere verwirrt.
  • auch auf
    Code:
    this
    kann mit AS3 verzichtet werden.

Liebe Grüße!
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Alt 03-01-2012, 17:03   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Ort: Augsburg
Beiträge: 6
DANKE!! das war meine fehlende Zeile.

zu deinem PS:
1. ist ein projekt, und wir müssen im besten fall für jede Aktion usw. eine eigene Klasse verwenden. hab das vielleicht bisschen komisch ausgedrückt
2. danke für den Tipp mit den Großbuchstaben
3. war bis jetzt nur ein Test um irgendwas auf die Bühne zu bekommen. über genauere Bezeichnungen werde ich mir erst jetzt Gedanken machen wenn ich richtig anfange
4. das ist mehr oder weniger aus anderen Codes kopiert. nehme gerne verbesserungsvorschläge an

Danke nochmal!!
Brav ist offline   Mit Zitat antworten
Alt 04-01-2012, 08:45   #5 (permalink)
Flasher
 
Registriert seit: Aug 2010
Ort: Stuttgart
Beiträge: 360
Zitat:
Zitat von Brav Beitrag anzeigen
wir müssen im besten fall für jede Aktion usw. eine eigene Klasse verwenden.
Den Lehrer/Prof, der das verlangt, soll sich hier doch bitte mal melden.
__________________
Erwähne NIEWIEDER das Wort "Klickdummy"!
Ouroborus23 ist gerade online   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
addchild(), ausgelagerte klasse

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
addChild in Klasse -> MC wird nicht erzeugt Danjy ActionScript 3 4 17-08-2011 20:53
[Flash MX] exe wird nicht ausgeführt JakobRa Flash Einsteiger 4 04-01-2010 09:25
addChild externe Klasse - nicht angezeigt de_bastix ActionScript 3 13 17-02-2009 16:45
XML Laden in eigener Klasse (onLoad wird nicht ausgeführt) visioncom Flash mit XML und Webservices 10 21-05-2006 11:56
function wird und wird nicht ausgeführt!!!! poli-dori Flash MX 2004 3 04-05-2006 11:40


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

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


Copyright ©1999 – 2012 Marc Thiele