tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
788
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    EGJSoldier EGJSoldier ist offline Mitglied Gold
    Registriert seit
    Nov 2008
    Beiträge
    218
    Hallo zusammen, ich bin gerade dabei, mir eine Seite mit Flash zu bauen. Aber die Funktioniert nicht. Ich bekomme folgende Fehlermeldung:
    Code :
    1
    2
    
    1118: Implizite Umwandlung von einem Wert mit statischem Typ flash.display:DisplayObject in einen möglicherweise nicht verwandten Typ flash.display:MovieClip.
    1118: Implizite Umwandlung von einem Wert mit statischem Typ flash.display:DisplayObject in einen möglicherweise nicht verwandten Typ flash.display:MovieClip.

    Mein Code dazu sieht so aus(ist Actionscript 3):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    var myMovies_arr:Array = new Array("home.swf", "leistungen.swf", "kontakt.swf", "impressum.swf");
    var loader:Loader;
    var container:MovieClip = new MovieClip();
    addChild(container);
    function initNav():void {
        progressBar.scaleX = 0;
        for (var i:uint = 0; i<myMovies_arr.length; i++) {
            var aktNav:MovieClip = this["nav"+i];
            aktNav.buttonMode = true;
            aktNav.myIndex = i;
            aktNav.addEventListener(MouseEvent.ROLL_OVER,rollOverHandler);
            aktNav.addEventListener(MouseEvent.ROLL_OUT,rollOutHandler);
            aktNav.addEventListener(MouseEvent.CLICK,loadMyMovie);
        }
    }
    function rollOverHandler(e:MouseEvent):void {
        e.target.gotoAndPlay("in");
    }
    function rollOutHandler(e:MouseEvent):void {
        e.target.gotoAndPlay("out");
    }
    function loadMyMovie(e:MouseEvent):void {
        progressBar.scaleX = 0;
        var myIndex:uint = e.currentTarget.myIndex;
        loader = new Loader();
        var myRequest:URLRequest = new URLRequest(myMovies_arr[myIndex]);
        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
        loader.contentLoaderInfo.addEventListener(Event.INIT,imageLoaded);
        loader.load(myRequest);
    }
    function imageLoaded(e:Event):void {
        if(container.numChildren >0) {
            var lastContent:MovieClip = container.removeChildAt(0);
            lastContent = null;
        }
        var myContent:MovieClip = container.addChild(e.target.content); 
        myContent.gotoAndStop(2);
    }
    function progressHandler(e:ProgressEvent):void {
        var geladen:Number = e.target.bytesLoaded;
        var total:Number = e.target.bytesLoaded;
        var prozent:Number = geladen/total;
        progressBar.scaleX = prozent;
    }
    initNav();
    stop();

    was mache ich falsch

    Danke schonmal im vorraus.

    MfG
    EGJSoldier
     

  2. #2
    Alaniak Alaniak ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    219
    Für welche Zeilen gibt er denn die Fehler an?
     

  3. #3
    EGJSoldier EGJSoldier ist offline Mitglied Gold
    Registriert seit
    Nov 2008
    Beiträge
    218
    Hi, also ich habe hier ein bisschen was an dem Code Rumgebastelt, aber der Fehler ist immer noch da.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    var myMovies_arr:Array = new Array("home.swf", "home.swf", "home.swf", "home.swf");
    var loader:Loader;
    var container:MovieClip = new MovieClip();
    addChild(container);
    function initNav():void {
        progressBar.scaleX = 0;
        for (var i:uint = 0; i<myMovies_arr.length; i++) {
            var aktNav:MovieClip = this["nav"+i];
            aktNav.buttonMode = true;
            aktNav.myIndex = i;
            aktNav.addEventListener(MouseEvent.ROLL_OVER,rollOverHandler);
            aktNav.addEventListener(MouseEvent.ROLL_OUT,rollOutHandler);
            aktNav.addEventListener(MouseEvent.CLICK,loadMyMovie);
        }
    }
    function rollOverHandler(e:MouseEvent):void {
        e.target.gotoAndPlay("in");
    }
    function rollOutHandler(e:MouseEvent):void {
        e.target.gotoAndPlay("out");
    }
    function loadMyMovie(e:MouseEvent):void {
        progressBar.scaleX = 0;
        var myIndex:uint = e.currentTarget.myIndex;
        loader = new Loader();
        var myRequest:URLRequest = new URLRequest(myMovies_arr[myIndex]);
        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
        loader.contentLoaderInfo.addEventListener(Event.INIT,imageLoaded);
        loader.load(myRequest);
    }
    function imageLoaded(e:Event):void {
        if(container.numChildren >0) {
            [B]var lastContent:MovieClip = container.removeChildAt(0);[/B]
            lastContent = null;
        }
        [B]var myContent:MovieClip = container.addChild(e.target.content);[/B]
        myContent.gotoAndStop(2);
    }
    function progressHandler(e:ProgressEvent):void {
        var geladen:Number = e.target.bytesLoaded;
        var total:Number = e.target.bytesLoaded;
        var prozent:Number = geladen/total;
        progressBar.scaleX = prozent;
    }
    initNav();
    stop();

    An den dick markierten Stellen tritt diese Fehlermeldung auf.
     

  4. #4
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.257
    Die Fehlermeldung sagt doch alles. Du möchtest ein Object vom Typ "DisplayObject" einer Variable vom Typ "MovieClip" zuweisen, aber die Typen sind inkompatibel. Wenn das DisplayObject aber ein MovieClip ist, kannst du einen Typecast durchführen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    function imageLoaded(e:Event):void {
        if(container.numChildren >0) {
            var lastContent:MovieClip = container.removeChildAt(0) [b]as MovieClip[/b];
            lastContent = null;
        }
        var myContent:MovieClip = container.addChild(e.target.content) [b]as MovieClip[/b];
        myContent.gotoAndStop(2);
    }

    Um sicher zu gehen, dass das Objekt ein MovieClip ist und der Typecast nicht in einer Exception endet, kannst du den Typ mit
    Code :
    1
    
    if(variable typeof "movieclip")
    überprüfen.
    Geändert von CPoly (15.03.10 um 13:39 Uhr)
     

  5. #5
    EGJSoldier EGJSoldier ist offline Mitglied Gold
    Registriert seit
    Nov 2008
    Beiträge
    218
    Danke erstmal für die Antworten. Ich bekomme jetzt aber eine andere Fehlermeldung:
    Code :
    1
    2
    3
    
    TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
        at Hompage_Flash_fla::MainTimeline/initNav()
        at Hompage_Flash_fla::MainTimeline/frame1()
     

  6. #6
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.257
    Bekommst du die Meldung wegen meinen beiden geänderten Zeilen?
    Ich selbst habe mit Actionscript wenig zu tun und wenn dann entwickele ich mit einem Texteditor und mxmlc, deshalb weis ich nicht, was für Probleme auftreten können, wenn man mit Frames arbeitet.
    http://www.tutorials.de/forum/flash/...or-1009-a.html
     

  7. #7
    EGJSoldier EGJSoldier ist offline Mitglied Gold
    Registriert seit
    Nov 2008
    Beiträge
    218
    Jo die Fehlermeldung kommt erst, nachdem ich den Code geändert habe. Also wenn ich das "as MovieClip" dransetze.

    Also ich bekomme das Problem nicht elöst. Ich kann das Script drehen und wenden wie ich will
     

Ähnliche Themen

  1. Flashseite läuft nicht auf Strato
    Von lubino im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 08.01.09, 18:26
  2. Antworten: 1
    Letzter Beitrag: 15.01.07, 15:58
  3. Funktion IE/Firefox - funktioniert/funktioniert nicht
    Von SixDark im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 02.03.06, 00:26
  4. Menü für Flashseite
    Von ThePowerOfFlashlight im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 06.01.05, 00:11
  5. flashseite
    Von systray im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 24.02.03, 22:32