Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS4 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-09-2010, 15:34   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Ort: Bayern
Beiträge: 107
Problem Error #1009

Ich weis nicht mehr weiter. Ich lade aus einer Main SWF mehrere externe SWFs
die für sich alle fehlerfrei funktionieren. Nur eine externe SWF macht Schwierigkeiten. Lade ich diese läuft sie ebenfalls einwandfrei, lade ich jedoch mittels switch/case eine andere SWF erhalte ich einen Error #1009 der sich auf eine Funktion inerhalb dieser SWF bezieht. Laufen tut aber trotzdem alles.
Was tun?

VG
Stefan
Stefan° ist offline   Mit Zitat antworten
Alt 26-09-2010, 15:48   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Zitat von Stefan°
Was tun?
Es ist ein Fehler, beseitigen wär eine möglichkeit.

kann es sein, dass du im Konstruktor der externen swf-datei auf stage zugreifst?

ansonsten:
- AS2 oder AS3?
- code in der Timeline oder in externen Klassen?
- sonst irgendelche Tips, wie dein Code aussehen könnte?
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 26-09-2010, 16:19   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2009
Ort: Bayern
Beiträge: 107
Zitat:
Zitat von thomas_E Beitrag anzeigen
Es ist ein Fehler, beseitigen wär eine möglichkeit.

kann es sein, dass du im Konstruktor der externen swf-datei auf stage zugreifst?

ansonsten:
- AS2 oder AS3?
- code in der Timeline oder in externen Klassen?
- sonst irgendelche Tips, wie dein Code aussehen könnte?
AS3 und Code in der Timline
Danke für deine Hilfe..
Gruß
Stefan

PHP-Code:
import flash.display.*;
    
import flash.text.*;
    
import flash.events.*;
    
import flash.ui.*;
    
import flash.net.*;
    
import flash.xml.*;
    
import flash.utils.*;
    
import flash.geom.*;
    
import caurina.transitions.Tweener;
    
import gs.*; 
    
import gs.easing.*;
    

        const 
XML_URL:String="children/xml/setup.xml";
         
        var 
images_folder:String;
        
        var 
objs_array:Array=new Array();
        var 
items_array:Array=new Array();
        var 
image_bg_mc:MovieClip;
        var 
bitmap:Bitmap;
        var 
apple_mc:Apple;
        var 
images_mc:Images;
        var 
arrow_right:Arrow;
        var 
arrow_left:Arrow;
        var 
counter:int=0;
        var 
ratio:Number=0;
        var 
percentage:Number=0;
        var 
current_id:int=0;
        var 
test:MovieClip;
        
test = new rechts();
        var 
test1:MovieClip;
        
test1 = new links();
            
            
            
            
            
stage.frameRate=60;
            
            
            
            
hideMenu();

            
showXMLPreloader();
            
loadXML();
        
        
// zeige preloder vor dem laden der xml
        
function showXMLPreloader():void
        
{
            
apple_mc=new Apple();
            
apple_mc.x=stage.stageWidth/2+128;
            
apple_mc.y=stage.stageHeight/2-150;
            
addChild(apple_mc);
        }
        
        
// XML preloader verschwinden lassen
        
function hideXMLPreloader():void
        
{
            
apple_mc.stop();
            
removeChild(apple_mc);
        }
        
        
// zeige preloder vor dem laden des Bildes
        
function showImagePreloader():void
        
{
            
apple_mc=new Apple();
            
apple_mc.x=stage.stageWidth/2+128;
            
apple_mc.y=stage.stageHeight/2-150;
            
addChild(apple_mc);
        }
        
        
// XML preloader verschwinden lassen
        
function hideImagePreloader():void
        
{
            
apple_mc.stop();
            
removeChild(apple_mc);
        }
        
        
        
        
// laden externes XML
        
function loadXML():void
        
{
            var 
loader:URLLoader=new URLLoader();
            
loader.addEventListener(Event.COMPLETE,completeXMLHandler);
            
            var 
request:URLRequest=new URLRequest(XML_URL);
            try 
            {
                
loader.load(request);
            } 
            catch(
error:Error
            {
                
trace('Impossible to load request document.');
            }
        }
        
        
// pushes XML Daten in Array
        
function completeXMLHandler(event:Event):void
        
{
            var 
loader:URLLoader=URLLoader(event.target);
            var 
result:XML=new XML(loader.data);
            var 
myXML:XMLDocument=new XMLDocument();
            
myXML.ignoreWhite=true;
            
myXML.parseXML(result.toXMLString());
            var 
node:XMLNode=myXML.firstChild;
            
images_folder=node.attributes["imagesFolder"];
            
            var 
items:int=int(node.childNodes.length);
            for(var 
i:int=0;i<items;i++)
            {
                var 
obj:Object=new Object();
                var 
subitems:int=int(node.childNodes[i].childNodes.length);
                for(var 
j:int=0;j<subitems;j++)
                {
                    switch(
j)
                    {
                        case 
0:
                            if(
node.childNodes[i].childNodes[j].firstChild!=null)
                                
obj.path=node.childNodes[i].childNodes[j].firstChild.nodeValue;
                            else
                                
obj.path="";
                        break;
                        
                        case 
1:
                            if(
node.childNodes[i].childNodes[j].firstChild!=null)
                                
obj.title=node.childNodes[i].childNodes[j].firstChild.nodeValue;
                            else
                                
obj.title="";
                        break;
                        
                        case 
2:
                            if(
node.childNodes[i].childNodes[j].firstChild!=null)
                                
obj.date=node.childNodes[i].childNodes[j].firstChild.nodeValue;
                            else
                                
obj.date="";
                        break;
                    }
                }
                
                
objs_array.push(obj);
            }
            
            
percentage=100/objs_array.length;
            
createThumbs();
        }
        
        
// Erzeugen des Menu Scroller
        
function createMenu():void
        
{
            
images_mc=new Images();
            
images_mc.y=-images_mc.height+25;
            
images_mc.bg_mc.width=stage.stageWidth;
            
images_mc.button_mc.x=stage.stageWidth/2+100;
            
addChild(images_mc);
            
            
images_mc.addEventListener(Event.ENTER_FRAME,checkMouse);
        }
        
        
// Check mouseposition ( öffnen/schließen images scroller )
        
function checkMouse(evt:Event):void
        
{
            var 
d:Number=mouseY;
            if(
d<200)
                
Tweener.addTween(evt.target,{y:0,time:1,transition:"regular"});
            else
                
Tweener.addTween(evt.target,{y:-images_mc.height+25,time:1,transition:"regular"});
                
        }
        
        
// erzeugen und laden der thumbs
        
function createThumbs():void
        
{
            for(var 
i:int=0;i<objs_array.length;i++)
            {
                var 
request:URLRequest=new URLRequest(images_folder+"/thumbs/"+objs_array[i].path);
                var 
loader:Loader=new Loader();
                
loader.name=i.toString();
                
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onThumbComplete);
                
loader.load(request);
            }
        }
        
        
// wen Thumbs geladen sind...
        
function onThumbComplete(evt:Event):void
        
{
            var 
i:int=int(evt.target.loader.name);
            var 
thumb:Bitmap=evt.target.loader.content as Bitmap;
            
thumb.smoothing=true;
            if(
thumb.width>thumb.height)
            {
                var 
item_v:ItemV=new ItemV();
                
items_array[i]=item_v;
                
item_v.image_mc.empty_mc.addChild(thumb);
            }
            else
            {
                var 
item_h:ItemH=new ItemH();
                
items_array[i]=item_h;
                
item_h.image_mc.empty_mc.addChild(thumb);
            }
            
            
items_array[i].id=i;
            
items_array[i].sel=false;
            
//items_array[i].header_mc.title_txt.text=objs_array[i].title;
            
items_array[i].date_txt.text=objs_array[i].date;
//            items_array[i].desc_txt.text=(i+1).toString();
            
            
counter++;
            if(
counter==objs_array.length)
            {
                
createMenu();
                
fixItems();
            }
            
            
apple_mc.info_txt.htmlText="<b>"+Math.floor(percentage*counter)+" %"+"</b>";
        }
        
        
// position the thumbs
        
function fixItems():void
        
{
            var 
l:Number=0;
            for(var 
i:int=0;i<items_array.length;i++)
            {
                
l+=items_array[i].width;
                
images_mc.empty_mc.addChild(items_array[i]);
                if(
i==0)
                    
items_array[i].x=250;
                if(
i>0)
                    
items_array[i].x=items_array[i-1].x+items_array[i-1].width;
                
                
items_array[i].mouseChildren=false;
                
items_array[i].buttonMode=true;
                
items_array[i].addEventListener(MouseEvent.MOUSE_OVER,onItemOver);
                
items_array[i].addEventListener(MouseEvent.MOUSE_OUT,onItemOut);
                
items_array[i].addEventListener(MouseEvent.MOUSE_DOWN,onItemDown);
            }
            
            
images_mc.empty_mc.graphics.beginFill(0x0,0);
            
images_mc.empty_mc.graphics.drawRect(0,0,l+500,100);
            
            
ratio=(images_mc.empty_mc.width-stage.stageWidth)/stage.stageWidth;
            
            
images_mc.empty_mc.addEventListener(Event.ENTER_FRAME,moveItems);
            
            
hideXMLPreloader();
            
            
loadImage();
            
checkThumbState(0);
            
        }
        
        
// wenn mouse über einem thumb ist
        
function onItemOver(evt:MouseEvent):void
        
{
            
Tweener.addTween(evt.target.bg_mc,{_color:0xd2d4bf,time:1,transition:"regular"});
            
Tweener.addTween(evt.target.date_txt,{_color:0x222d3f,time:1,transition:"regular"});
            
Tweener.addTween(evt.target.image_mc.bg_mc,{_color:0xFFFFFF,time:1,transition:"regular"});
        }
        
        
// mouse außerhalb des thumbs
        
function onItemOut(evt:MouseEvent):void
        
{
            if(!
evt.target.sel)
            {
                
Tweener.addTween(evt.target.bg_mc,{_color:0x0,time:1,transition:"regular"});
                
Tweener.addTween(evt.target.date_txt,{_color:0xd2d4bf,time:1,transition:"regular"});
                
Tweener.addTween(evt.target.image_mc.bg_mc,{_color:0x303030,time:1,transition:"regular"});
            }
        }
        
        
//  mouse click thumb
        
function onItemDown(evt:MouseEvent):void
        
{
            
current_id=evt.target.id;
            
checkThumbState(evt.target.id);
            
loadImage();
        }
        
        
// wechselt den State vom current clicked thumb
        
function checkThumbState(n:int):void
        
{
            for(var 
i:int=0;i<items_array.length;i++)
            {
                if(
i==n)
                {
                    
items_array[i].mouseEnabled=false;
                    
items_array[i].sel=true;
                    
Tweener.addTween(items_array[i].bg_mc,{_color:0xd2d4bf,time:1,transition:"regular"});
                    
Tweener.addTween(items_array[i].date_txt,{_color:0x222d3f,time:1,transition:"regular"});
                    
Tweener.addTween(items_array[i].image_mc.bg_mc,{_color:0xd2d4bf,time:1,transition:"regular"});
                }
                else
                {
                    
items_array[i].sel=false;
                    
items_array[i].mouseEnabled=true;
                    
Tweener.addTween(items_array[i].bg_mc,{_color:0x0,time:1,transition:"regular"});
                    
Tweener.addTween(items_array[i].date_txt,{_color:0xd2d4bf,time:1,transition:"regular"});
                    
Tweener.addTween(items_array[i].image_mc.bg_mc,{_color:0x303030,time:1,transition:"regular"});
                }
            }
        }
        
        
// bewegen in Abhängikeit der mouse position
        
function moveItems(evt:Event):void
        
{
            var 
centerX:Number=stage.stageWidth/2-mouseX;
            
evt.target.x+=centerX/18;
            if(
evt.target.x>=0)
                
evt.target.x=0;
            if(
evt.target.x<-evt.target.width+stage.stageWidth)
                
evt.target.x=-evt.target.width+stage.stageWidth;
        }
        
        
        
// laden selected image
        
function loadImage():void
        
{
            if(
image_bg_mc!=null)
            {
                
removeChild(image_bg_mc);
                
removeChild(bitmap);
                
//hideDescription();
                
if(arrow_right!=null)
                    
removeChild(arrow_right);
                if(
arrow_left!=null)
                    
removeChild(arrow_left);
                if(
test!=null)
                    
removeChild(test);    
                if(
test1!=null)
                    
removeChild(test1);        
            }
            
            
disableThumbs();
            
showImagePreloader();
            
            var 
request:URLRequest=new URLRequest(images_folder+"/"+objs_array[current_id].path);
            var 
loader:Loader=new Loader();
            
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onImageProgress);
            
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImageComplete);
            
loader.load(request);
        }
        
        function 
onImageProgress(evt:ProgressEvent):void
        
{
            var 
perc:uint=(evt.bytesLoaded/evt.bytesTotal)*100;
            
apple_mc.info_txt.htmlText="<b>"+perc+" %"+"</b>";
        }
        
        
// wen Bild geladen ist
        
function onImageComplete(evt:Event):void
        
{
            
hideImagePreloader();
            
            
bitmap=evt.target.loader.content as Bitmap;
            
bitmap.smoothing=true;
            
bitmap.alpha=0;
            
bitmap.x=stage.stageWidth/2-bitmap.width/2+128;
            
bitmap.y=stage.stageHeight/2-bitmap.height/2-150;
            
image_bg_mc=new MovieClip();
            
image_bg_mc.graphics.beginFill(0x1E1E1E,1);
            
image_bg_mc.graphics.drawRect(-1,-1,2,2);
            
image_bg_mc.x=stage.stageWidth/2+128;
            
image_bg_mc.y=stage.stageHeight/2-150;
            
addChild(image_bg_mc);
            
swapChildren(images_mc,image_bg_mc);
            
            
Tweener.addTween(image_bg_mc,{width:bitmap.width+4,height:bitmap.height+4,time:.8,transition:"easeOutQuint",onComplete:attachBitmap});
            
            function 
attachBitmap():void
            
{
                
addChild(bitmap);
                
swapChildren(images_mc,bitmap);
                
                
Tweener.addTween(bitmap,{alpha:1,time:0.1,transition:"easeOutSine"});
                
showRightArrow();
                
showLeftArrow();
                
enableThumbs();
            }
        }
        
        
// ausschalten mouse actions thumbs
        
function disableThumbs():void
        
{
            for(var 
i:int=0;i<images_mc.empty_mc.numChildren;i++)
            {
                var 
thumb_mc:MovieClip=images_mc.empty_mc.getChildAt(i) as MovieClip;
                
thumb_mc.mouseEnabled=false;
            }
        }
        
        
// einschalten mouse actions thumbs
        
function enableThumbs():void
        
{
            for(var 
i:int=0;i<images_mc.empty_mc.numChildren;i++)
            {
                if(
i!=current_id)
                {
                    var 
thumb_mc:MovieClip=images_mc.empty_mc.getChildAt(i) as MovieClip;
                    
thumb_mc.mouseEnabled=true;
                }
            }
        }
            
            
        
        
// zeige right arrow
        
function showRightArrow():void
        
{
            
arrow_right=new Arrow();
            
arrow_right.alpha=0;
            
arrow_right.bitmap.x+arrow_right.width+bitmap.width/2-1;
            
arrow_right.y=bitmap.y;
            
trace(arrow_right.x);
            
            
arrow_right.width=bitmap.width/2;
            
arrow_right.height=bitmap.height;
            
            
addChild(test);
            
addChild(arrow_right);
            
swapChildren(images_mc,arrow_right);
            
swapChildren(arrow_right,test);
            
test.alpha=0;
            
            
            
arrow_right.mouseChildren=false;
            
arrow_right.buttonMode=true;
            
arrow_right.addEventListener(MouseEvent.MOUSE_DOWN,onArrowDown);
            
            
arrow_right.addEventListener(MouseEvent.MOUSE_OVER,onArrowDownEffekt);
            function 
onArrowDownEffekt(evt:MouseEvent):void
            
{
                
Tweener.addTween(arrow_right,{alpha:0,time:0.4,transition:"easeInOutQuint"});
            }
            
arrow_right.addEventListener(MouseEvent.MOUSE_OUT,outArrowDownEffekt);
            function 
outArrowDownEffekt(evt:MouseEvent):void
            
{
                
Tweener.addTween(arrow_right,{alpha:0,time:0.4,transition:"easeInOutQuint"});
            }
            
test.x=bitmap.x+bitmap.width-test.width;
            
test.y=bitmap.y+150;
            
            
arrow_right.addEventListener(Event.ENTER_FRAME,controlMouse1);
            function 
controlMouse1(e:Event):void
                
{
            if(
arrow_right.hitTestPoint(mouseX,mouseY,true))
                
Tweener.addTween(test,{alpha:0.4,time:0.4,transition:"easeOutCubic"});
            else
                
Tweener.addTween(test,{alpha:0,time:0.7,transition:"easeOutCubic"});
        }
            
            
        }
        
        
// zeige left arrow
        
function showLeftArrow():void
        
{
            
arrow_left=new Arrow();
            
arrow_left.rotation=180;
            
arrow_left.alpha=0;
            
arrow_left.bitmap.x+arrow_left.width+bitmap.width/2-1;
            
arrow_left.y=bitmap.y+bitmap.height;
            
            
arrow_left.width=bitmap.width/2;
            
arrow_left.height=bitmap.height+arrow_left.height;
            
            
addChild(test1);
            
swapChildren(arrow_right,test1);
            
addChild(arrow_left);
            
swapChildren(images_mc,arrow_left);
            
test1.alpha 0;
            
arrow_left.buttonMode=true;
            
            
arrow_left.mouseChildren=false;
            
arrow_left.buttonMode=true;
            
arrow_left.addEventListener(MouseEvent.MOUSE_DOWN,onArrowDown);
            
            
arrow_left.addEventListener(MouseEvent.MOUSE_OVER,onArrowDownEffekt1);
            function 
onArrowDownEffekt1(evt:MouseEvent):void
            
{
                
Tweener.addTween(arrow_left,{alpha:0,time:0.4,transition:"easeInOutQuint"});
            }
            
            
arrow_left.addEventListener(MouseEvent.MOUSE_OUT,outArrowDownEffekt1);
            function 
outArrowDownEffekt1(evt:MouseEvent):void
            
{
                
Tweener.addTween(arrow_left,{alpha:0,time:0.4,transition:"easeInOutQuint"});
            }
            
            
test1.x=bitmap.x;
            
test1.y=bitmap.y+150;
            
arrow_left.addEventListener(Event.ENTER_FRAME,controlMouse);
            function 
controlMouse(e:Event):void
                
{
            if(
arrow_left.hitTestPoint(mouseX,mouseY,true))
                
Tweener.addTween(test1,{alpha:0.4,time:0.4,transition:"easeOutCubic"});
            else
                
Tweener.addTween(test1,{alpha:0,time:0.7,transition:"easeOutCubic"});
        }
    }
        
        
// wenn ein arrow angeclicked wurde
        
function onArrowDown(evt:MouseEvent):void
        
{
            switch(
evt.target)
            {
                case 
arrow_right:
                    
current_id++;
                break;
                
                case 
arrow_left:
                    
current_id--;
                break;
            }
            
            var 
l:int=objs_array.length-1;
            
            if(
current_id<0)
                
current_id=l;
            if(
current_id>l)
                
current_id=0;
                
            
loadImage();
            
checkThumbState(current_id);
        }
        
        function 
hideMenu():void
        
{
            var 
label:String="SL-PHOTOGRAFIE";
            var 
cm:ContextMenu=new ContextMenu();
            var 
item:ContextMenuItem=new ContextMenuItem(label);
            
cm.hideBuiltInItems();
            
cm.customItems.push(item);
            
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1);
            
this.contextMenu=cm;
        }
        function 
itemHandler1(event:ContextMenuEvent):void
        
{
            var 
request:URLRequest=new URLRequest();
            
request.url="mailto:mailto@sl-photografie.de";
            
navigateToURL(request,"_self");
        } 

Geändert von Stefan° (26-09-2010 um 16:20 Uhr)
Stefan° 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
Problem mit externer SWF (Error#1009) jobroyer ActionScript 3 25 29-04-2010 12:08
Error #1009 n82 Flex programmieren 4 20-01-2009 15:24
Problem mit dem Sprung in Frames"TypeError: Error #1009" domisan Flash Einsteiger 3 13-06-2008 04:07
Klassen-Problem: Error +1009 bigfella001 ActionScript 3 10 28-04-2008 21:12
[AS3] - Preloader Problem ERROR #1009 hedonistics ActionScript 3 8 07-02-2008 09:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele