Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-08-2010, 13:41   #1 (permalink)
Padawan
 
Benutzerbild von Seebold
 
Registriert seit: Dec 2005
Ort: Hannover
Beiträge: 75
Einstiegsproblem AS3: Fehlermeldung in Flash CS4

Hi Leute,

nachdem meine letzten Flashprojekte immer wieder zur Folge hatten, dass es "mit AS3 gegangen wäre, aber AS2 das noch nicht kann", wollte ich mal AS3 explorieren. Nutze dafür das Buch "essential Actionscript 3.0" und gehe das Zoobeispiel durch.

Habe erst 6 Zeilen geschrieben und das erste Compilieren schlägt schon fehl. Fehlermeldung:
HTML-Code:
5000: Die Klasse 'de.fischhase.leslie.Main' muss eine Unterklasse von 'flash.display.MovieClip' sein, da sie mit einem Bibliothekssymbol dieses Typs verknüpft ist.
Verwirrung: Denn die Bibliothek ist enthält keine Objekte, die Flashdatei ist jungfräulich, lediglich die Dokumentklasse haben ich mit "de.fischhase.leslie.Main" angegeben. Die Klasse befindet sich im Ordner ./de/fischhase/leslie/main.as. Der Code lautet:
PHP-Code:
package de.fischhase.leslie {
    public class 
Main {
        public function 
Main() {
            
//test
        
}
    }

Google findet bei der Fehlermeldung zwei Ergebnisse, eines sogar aus diesem Forum (OOP Actionscript 3, 'Unterklasse von flash.display.MovieClip'?; hat aber leider beides nichts mit meine 6 Zeilen zu tun :-(

Ich möchte Folgendes erreichen: Diese Main-Klasse soll bei Filmstart als Dokumentklasse aufgerufen werden und Start-Punkt des Films sein. Früher hieß das Filmscript. Dazu brauch ich erstmal keinen MovieClip, weil ich keine Eigenschaften von irgendwem erben möchte. Ich will eigentlich nur "Hello" tracen ... und nicht mal das befindet sich derzeit im Script.

Hat eine eine Idee?

Viele Grüße
Seebold
Seebold ist offline   Mit Zitat antworten
Alt 02-08-2010, 13:52   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.867
Zitat:
Dazu brauch ich erstmal keinen MovieClip,...
Flash brauch das aber, oder zumindest ein Sprite

ActionScript:
  1. package de.fischhase.leslie {
  2.     import flash.display.Sprite;
  3.  
  4.     public class Main extends Sprite{
  5.         public function Main() {
  6.             super();
  7.             trace("Hallo");
  8.         }
  9.     }
  10. }

edit Beeser noch:
ActionScript:
  1. package de.fischhase.leslie
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.events.Event;
  5.  
  6.     public class Main extends Sprite
  7.     {
  8.         //constructor
  9.         public function Main()
  10.         {
  11.             super();        //Constructor des Eltern-Elements aufrufen
  12.            
  13.             if(stage) init();
  14.             else addEventListener(Event.ADDED_TO_STAGE, init);
  15.         }
  16.        
  17.         private function init(e:Event=null):void
  18.         {
  19.             removeEventListener(Event.ADDED_TO_STAGE, init);
  20.            
  21.             //hier gehts los!
  22.             trace("Hallo");
  23.         }
  24.  
  25.     }
  26. }
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (02-08-2010 um 14:05 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 02-08-2010, 16:07   #3 (permalink)
Padawan
 
Benutzerbild von Seebold
 
Registriert seit: Dec 2005
Ort: Hannover
Beiträge: 75
Danke für die schnelle Antwort

Prima, danke dafür. Das ist ja viel Code für ein Hallo :-)

Zum Nachtrag habe ich dann doch eine Frage:
PHP-Code:
if(stageinit();
            else 
addEventListener(Event.ADDED_TO_STAGEinit); 
Was soll "if (stage)" heißen? Verstehe ich richtig, dass es einen Moment gibt, an dem die Stage noch nicht existiert und wenn es so ist, dass die Init-Funktion aufgerufen wird, wenn die Stage besteht? Wird beim Initialisieren der Stage automatisch das Event "ADDED_TO_STAGE" ausgeworfen?

Danke schon mal für die gute Hilfe.
Seebold ist offline   Mit Zitat antworten
Alt 02-08-2010, 16:46   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Ort: Bremen
Beiträge: 147
Ja. Das hast du richtig verstanden.

Zitat:
Zitat von Seebold Beitrag anzeigen
Prima, danke dafür. Das ist ja viel Code für ein Hallo :-)

Zum Nachtrag habe ich dann doch eine Frage:
PHP-Code:
if(stageinit();
            else 
addEventListener(Event.ADDED_TO_STAGEinit); 
Was soll "if (stage)" heißen? Verstehe ich richtig, dass es einen Moment gibt, an dem die Stage noch nicht existiert und wenn es so ist, dass die Init-Funktion aufgerufen wird, wenn die Stage besteht? Wird beim Initialisieren der Stage automatisch das Event "ADDED_TO_STAGE" ausgeworfen?

Danke schon mal für die gute Hilfe.
DerTobi ist offline   Mit Zitat antworten
Alt 02-08-2010, 16:50   #5 (permalink)
ING
whatever
 
Registriert seit: May 2008
Beiträge: 419
ADDED_TO_STAGE wird normalerweise gefeuert wenn mit addChild() das objekt hinzugefügt wird, bei der main passiert das automatisch.

bei eigenen objekten kann man zb. auf die stage innerhalb des konstruktors normalerweise noch nicht zugreifen weil der abgearbeitet wird bevor das objekt in der displaylist landet.
ING ist offline   Mit Zitat antworten
Alt 02-08-2010, 17:53   #6 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.867
Zitat:
Das ist ja viel Code für ein Hallo :-)
Naja, es wird wohl kaum bei einem "Hallo World" bleiben, und wenn du es jetzt lernst, dann lern es direkt richtig.

zur Stage hat ING ja bereits alles erklärt.
ich kenn dein Buch zwar nicht, nur irgendwo wird der Teil kommen, wo du auf stage.scaleMode und stage.align zugreifst, und spätestens dann wirst du diese Variante nutzen müssen (sollen), sonst schmeisst Flash mit null-Objektverweis Fehlern um sich.

also, viel spass beim lernen, und gutes gelingen.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 03-08-2010, 09:25   #7 (permalink)
Padawan
 
Benutzerbild von Seebold
 
Registriert seit: Dec 2005
Ort: Hannover
Beiträge: 75
Vielen Dank

Danke an Euch. Prima erklärt. Ich bin auch schon weiter gekommen. Das Buch "Essential ActionScript 3.0" war eine Empfehlung aus dem Forum, aber wenn man etwas nachschlagen will, lässt es einen im Stich. Ist mehr was zum Seite für Seite durchlesen ... und das bei 900 Seiten -- für alle, die im Forum nach einer Buchempfehlung suchen.

Viele Grüße
Seebold
Seebold ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
5000, dokumentklasse, flash.display.movieclip, oop

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
Komische Fehlermeldung in Flash Pro 8!? badbandit Flash 8 2 15-09-2005 06:31
Fehlermeldung Flash MX artist-k Flash MX 0 28-06-2004 11:25
Fehlermeldung in Flash mx Skymen Flash MX 2 09-08-2003 08:49
flash fehlermeldung? DoppelX ActionScript 1 22 08-08-2003 06:58
was will flash mir mit der fehlermeldung sagen??? DoppelX ActionScript 1 5 25-07-2003 20:21


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

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


Copyright ©1999 – 2012 Marc Thiele