Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-02-2011, 17:25   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2011
Beiträge: 18
Question TypeError #1010 - Kann damit jemand was anfangen?

Hi!

Ich bekomme folgende Fehlermeldung:

#1010: Ein Begriff ist nicht definiert und hat keine Eigenschaften.

Kann damit aber leider nix anfangen.

Kann mir jemand sagen, wie ich den Fehler auf eine Zeile eingrenzen kann, oder findet jemand den Fehler?

Ich arbeite mit CS4 und Flashdevelop

Hier der Code:

ActionScript:
  1. package
  2. {
  3.     import flash.display.Loader;
  4.     import flash.display.MovieClip;
  5.     import flash.display.Sprite;
  6.     import flash.events.Event;
  7.     import flash.events.ProgressEvent;
  8.     import flash.net.URLRequest;
  9.    
  10.     import com.greensock.TweenLite;
  11.  
  12.     public class Preloader extends MovieClip {
  13.            
  14.         // objects
  15.         private var eddy:MovieClip = new eddy_mc();
  16.         private var vroni:MovieClip = new vroni_mc();
  17.         private var ute:MovieClip = new ute_mc();
  18.         private var robert:MovieClip = new robert_mc();
  19.        
  20.         // array
  21.         private var buddys:Array = new Array(4);
  22.        
  23.         // container
  24.         private var container:Sprite = new Sprite();
  25.        
  26.         // loader for external swf
  27.         private var myLoader:Loader;
  28.        
  29.        
  30.         public function Preloader():void {
  31.            
  32.             // prepare tween
  33.             eddy.scaleX = 0;
  34.             eddy.scaleY = 0;
  35.             vroni.scaleX = 0;
  36.             vroni.scaleY = 0;
  37.             ute.scaleX = 0;
  38.             ute.scaleY = 0;
  39.             robert.scaleX = 0;
  40.             robert.scaleY = 0;
  41.            
  42.             // array befüllen
  43.             buddys.push(eddy, vroni, ute, robert);
  44.            
  45.             for(var i:int=0; i < buddys.length; i++) {
  46.  
  47.             //Set the x position for the circle
  48.             buddys[i].x = i * 20;
  49.  
  50.             //Add to container
  51.             container.addChild(buddys[i]);
  52.             }
  53.            
  54.             // add to display
  55.             addChild(container);
  56.            
  57.             //Position center
  58.             container.x = stage.stageWidth / 2 - container.width / 2;
  59.             container.y = stage.stageHeight / 2 - container.height / 2;
  60.            
  61.             // load swf
  62.             loadContent("./seife.swf");
  63.  
  64.         }
  65.        
  66.         // Externe SWFs laden
  67.         private function loadContent(contentName:String) {
  68.  
  69.             myLoader = new Loader();
  70.             var mRequest:URLRequest = new URLRequest(contentName);
  71.             myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
  72.             myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, load);
  73.             myLoader.load(mRequest);
  74.         }
  75.        
  76.        
  77.         // call while loading, update preloader
  78.         private function load(e:ProgressEvent):void{
  79.            
  80.             //Check how much has been loaded (in percentages)
  81.             var loadedPercentage:Number = (e.bytesLoaded / e.bytesTotal) * 100;
  82.            
  83.             trace("geladen" + loadedPercentage);
  84.            
  85.             // 25% loaded, tween eddy
  86.             if (loadedPercentage == 25) {
  87.  
  88.             //Tween eddy
  89.             TweenLite.to(buddys[0], 0.5, {scaleX:1, scaleY:1});
  90.             }
  91.            
  92.             // 50% loaded, tween vroni
  93.             if (loadedPercentage == 50) {
  94.  
  95.             //Tween vroni
  96.             TweenLite.to(buddys[1], 0.5, {scaleX:1, scaleY:1});
  97.             }
  98.            
  99.             // 75% loaded, tween ute
  100.             if (loadedPercentage == 75) {
  101.  
  102.             //Tween ute
  103.             TweenLite.to(buddys[2], 0.5, {scaleX:1, scaleY:1});
  104.             }
  105.            
  106.             // 100% loaded, tween robert
  107.             if (loadedPercentage == 100) {
  108.  
  109.             //Tween robert
  110.             TweenLite.to(buddys[3], 0.5, {scaleX:1, scaleY:1});
  111.             }
  112.            
  113.         }
  114.        
  115.         // loading has finished
  116.         private function done(e:Event):void{
  117.            
  118.             // remove all
  119.             removeChild(container);
  120.             removeChild(text);
  121.             removeChild(hg);
  122.            
  123.             addChild(myLoader);
  124.            
  125.             }
  126.    
  127.     }
  128.    
  129. }
sille ist offline   Mit Zitat antworten
Alt 11-02-2011, 17:35   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Eigentlich müsste Dir FlashDevelop doch die Zeile anzeigen?

Ich vermute mal, dass im Konstruktor die Eigenschaft stage einfach noch nicht belegt ist und der Fehler deshalb hier auftritt:
PHP-Code:
//Position center
container.stage.stageWidth container.width 2;
container.stage.stageHeight container.height 2
stage ist erst belegt, wenn sich das DisplayObject in der Anzeigeliste befindet, und das kann man so abfangen:
PHP-Code:
if (stagestageInit();
else 
addEventListener(Event.ADDED_TO_STAGEstageInit);

//...

private function stageInit(e:Event=null):void {
    
removeEventListener(Event.ADDED_TO_STAGEstageInit);
    
    
// Aktionen, die auf stage zugreifen

__________________
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 11-02-2011, 17:46   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2011
Beiträge: 18
Er gibt mir keine Zeile an, nur: at Preloader()

Hm... Habs probiert, hat leider nicht funktioniert

Übrigens: Die Fehlermeldung hab ich im Flash angezeigt bekommen
Seltsamerweise bekomme ich TypeError Meldungen immer nur in der Flash-Ausgabe und nicht im Flashdeveloper angezeigt, da is doch bestimmt irgendwas noch nicht richtig eingestellt, oder?

Geändert von sille (11-02-2011 um 17:56 Uhr)
sille ist offline   Mit Zitat antworten
Alt 11-02-2011, 18:09   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2011
Beiträge: 18
Unhappy

Habs jetzt nochmal angepasst, der Fehler liegt irgendwo hier:
at Preloader/stageInit()


Aktueller Code:

ActionScript:
  1. package
  2. {
  3.     import flash.display.Loader;
  4.     import flash.display.MovieClip;
  5.     import flash.display.Sprite;
  6.     import flash.events.Event;
  7.     import flash.events.ProgressEvent;
  8.     import flash.net.URLRequest;
  9.    
  10.     import flash.display.Stage;
  11.    
  12.     import com.greensock.TweenLite;
  13.  
  14.     public class Preloader extends MovieClip {
  15.            
  16.         // objects
  17.         private var eddy:MovieClip = new eddy_mc();
  18.         private var vroni:MovieClip = new vroni_mc();
  19.         private var ute:MovieClip = new ute_mc();
  20.         private var robert:MovieClip = new robert_mc();
  21.        
  22.         // array
  23.         private var buddys:Array = new Array(4);
  24.        
  25.         // container
  26.         private var container:Sprite = new Sprite();
  27.        
  28.         // loader for external swf
  29.         private var myLoader:Loader;
  30.        
  31.        
  32.         public function Preloader():void {
  33.  
  34.             addEventListener(Event.ADDED_TO_STAGE, stageInit);
  35.  
  36.         }
  37.        
  38.         private function stageInit(e:Event=null):void {
  39.            
  40.             // array befüllen
  41.             buddys.push(eddy, vroni, ute, robert);
  42.            
  43.             for(var i:int=0; i < buddys.length; i++) {
  44.  
  45.             //Set the x position
  46.             buddys[i].x = i * 20;
  47.            
  48.             //prepare tween
  49.             buddys[i].scaleX = 0;
  50.             buddys[i].scaleY = 0;
  51.  
  52.             //Add to container
  53.             container.addChild(buddys[i]);
  54.             }
  55.            
  56.             // add to display
  57.             addChild(container);
  58.            
  59.             //Position center
  60.             container.x = stage.stageWidth / 2 - container.width / 2;
  61.             container.y = stage.stageHeight / 2 - container.height / 2;
  62.            
  63.             // load swf
  64.             loadContent("./seife.swf");
  65.         } 
  66.        
  67.         //------------------------ Externe SWFs laden  ------------------------
  68.         private function loadContent(contentName:String) {
  69.            
  70.  
  71.             myLoader = new Loader();
  72.             var mRequest:URLRequest = new URLRequest(contentName);
  73.             myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
  74.             myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, load);
  75.             myLoader.load(mRequest);
  76.         }
  77.        
  78.        
  79.         // call while loading, update preloader
  80.         private function load(e:ProgressEvent):void{
  81.            
  82.             //Check how much has been loaded (in percentages)
  83.             var loadedPercentage:Number = (e.bytesLoaded / e.bytesTotal) * 100;
  84.            
  85.             trace("geladen" + loadedPercentage);
  86.            
  87.             // 25% loaded, tween eddy
  88.             if (loadedPercentage == 25) {
  89.  
  90.             //Tween eddy
  91.             TweenLite.to(buddys[0], 0.5, {scaleX:1, scaleY:1});
  92.             }
  93.            
  94.             // 50% loaded, tween vroni
  95.             if (loadedPercentage == 50) {
  96.  
  97.             //Tween vroni
  98.             TweenLite.to(buddys[1], 0.5, {scaleX:1, scaleY:1});
  99.             }
  100.            
  101.             // 75% loaded, tween ute
  102.             if (loadedPercentage == 75) {
  103.  
  104.             //Tween ute
  105.             TweenLite.to(buddys[2], 0.5, {scaleX:1, scaleY:1});
  106.             }
  107.            
  108.             // 100% loaded, tween robert
  109.             if (loadedPercentage == 100) {
  110.  
  111.             //Tween robert
  112.             TweenLite.to(buddys[3], 0.5, {scaleX:1, scaleY:1});
  113.             }
  114.            
  115.         }
  116.        
  117.         // loading has finished
  118.         private function done(e:Event):void{
  119.            
  120.             // remove all
  121.             removeChild(container);
  122.             removeChild(text);
  123.             removeChild(hg);
  124.            
  125.             addChild(myLoader);
  126.            
  127.             }
  128.  
  129.     }
  130.    
  131. }

Geändert von sille (11-02-2011 um 18:10 Uhr)
sille ist offline   Mit Zitat antworten
Alt 11-02-2011, 18:17   #5 (permalink)
ING
whatever
 
Registriert seit: May 2008
Beiträge: 419
Zitat:
Zitat von sille Beitrag anzeigen
Übrigens: Die Fehlermeldung hab ich im Flash angezeigt bekommen
Seltsamerweise bekomme ich TypeError Meldungen immer nur in der Flash-Ausgabe und nicht im Flashdeveloper angezeigt, da is doch bestimmt irgendwas noch nicht richtig eingestellt, oder?
nein, das ist ein laufzeitfehler den die ide so nicht feststellen kann, der tritt erst zur laufzeit auf, heißt der code ansich ist fehlerfrei, die programmlogik nicht.

eigentlich wird aber auch bei einem laufzeit fehler die zeile (in klammer) so wie die komplette history zum fehler angezeigt
ING ist offline   Mit Zitat antworten
Alt 11-02-2011, 18:17   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Schreib mal:
PHP-Code:
private var buddys:Array = []; 
statt
PHP-Code:
private var buddys:Array = new Array(4
Aktuell erzeugst Du nämlich ein Array mit 4 leeren Element, an das Du dann mit push nochmal 4 anhängst. Das sind dann insgesamt 8, wovon die ersten 4 aber null sind, was wiederum für Deine Fehlermeldung verantwortlich sein dürfte!
__________________
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 11-02-2011, 18:26   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2011
Beiträge: 18
Preloader loaded - aber ich kanns nicht sehen

Das war der Fehler!

Vielen Dank!

Noch eine Frage:

Über Download simulieren kann ich doch den Preloader testen.
Hast du zufällig ne Ahnung warum der bei mir selbst bei niedriger Einstellung sauschnell geladen ist?

Geändert von sille (11-02-2011 um 18:45 Uhr)
sille 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
Blöder TypeError #1010 Wo soll man suchen? Kolja76 ActionScript 3 3 07-09-2009 10:42
function Problem (TypeError: Error #1010) aja ActionScript 3 5 14-06-2009 14:18
[Flash CS3] TypeError: Error #1010 mase Flash Einsteiger 1 10-01-2009 17:22
Flash 3, was kann ich damit anfangen, Updates möglich? trancelight Flash 4 und Flash 5 3 04-10-2005 13:31


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele