(SOLVED!... mostly) Can I load an external image within my custom class?

Hello there!
I'm starting to work a lot with Classes, but I'm still reletively new to them.  I wrote a "creature" class (which extends Sprite), and I have everything working nicely... except for when it comes to displaying the image of the creature.
In previous programs, I've been able to load external Bitmaps using the Loader class.  However, this can only be done from the main timeline in Flash, right?  Such as this:
var imgLoader:Loader = new Loader();
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
imgLoader.load(new URLRequest("001.png"));
function done(evt:Event):void {
    addChild(Bitmap(imgLoader.content));
Ideally, what I'd like to do is just have a function within my class.  The function would contain the addChild statement, so I could simply do:
var MyCreature:creature = new creature();
MyCreature.loadImage();
However, I would be equally as happy if I could just load the Bitmap and return it from the class.  Then I could addChild myself in the main timeline:
var MyCreature:creature = new creature();
addChild(MyCreature.getBitmap());
I've tried putting the Loader code in a function within the creature class, however it isn't working.  It didn't return any errors, but it also didn't display anything, despite it containing the addChild statement.  Using the trace command, it looks like its getting inside the function, however addChild doesn't do anything.  Am I missing something?  Is there a better way?
Here's the function in my creature class:
public function loadImage(){
     var imgLoader:Loader = new Loader();
     imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
     imgLoader.load(new URLRequest("001.png"));
     function done(evt:Event):void {
           trace("It gets to this point just fine");
           addChild(Bitmap(imgLoader.content));
Thank you!

Sorry!  Sure enough, I browse the web for hours, unable to find a solution, post a forum post, and then I find a solution.
http://stackoverflow.com/questions/5036650/as3-addchild-in-a-class
I simply forgot to add the addChild(MyCreature) in the main timeline.  Duh.  <3

Similar Messages

  • (HELP) - Loading multiple external images error #1010

    I'm a newbie at Flash and spent the whole day trying to fix this one problem and can't seem to fix it no matter what I do.
    I'm using Action Script 3.0, CS5 on Windows 7.
    I'm trying to load two external images (thumbnail images) in the loader "see image below for reference", where the full image size will be. However, I am getting this error when testing my movie. What am I doing wrong?
    Test Movie error message:
    "port1_btn
    TypeError: Error #1010: A term is undefined and has no properties.
        at index_fla::MainTimeline/fl_MouseClickHandler_6()"
    "port2_btn
    TypeError: Error #1010: A term is undefined and has no properties.
        at index_fla::MainTimeline/fl_MouseClickHandler_7()"
    FYI:
    Loader instance name: mainLoader
    Thumbnail #1 instance name: port1_btn
    Thumbnail #2 instance name: port2_btn
    This is my code

    Go into your Flash Publish Settings and select the option to Permit Debugging.  Then the error messages could include an indication of which lines are causing the problem.
    And just for the sake of asking since the code is somewhat minimal... is the mainLoader inside a container named portfolioBkgd?

  • How can I load an external SWF into a movie clip that's inside other movie clip?

    Hi.
    I creating my first flash (actionscript 3.0) website but I'm
    stuck with a visual effect I want to create.
    I have a window on my website called contentWindow. Every
    time you click a button this window is supposed to leave the stage,
    load the requested content and return to the stage.
    The sliding window is a movie clip with 83 frames, 21 to
    enter the stage, 21 to leave the stage again, 20 for nothing (its
    just to simulate the loading time) and 21 to return to the stage.
    Now my goal is, when the user clicks on a navigation button,
    the window exits the stage, loads an external SWF with the content,
    and then returns to the stage.
    I've the "window" movie clip with an instance name of
    "contentWindow". Inside there is another movie clip with an
    instance name of "contentLoader". The content that the user
    requested should appear inside the "contentLoader".
    Now, when the contentWindow leaves the stage, I get this
    error message:
    quote:
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    at rwd_fla::MainTimeline/trigger()
    If I switch
    "contentWindow.contentLoader.addChild(navLoader);" for
    "contentWindow.addChild(navLoader);" it works fine, but the
    external SWF doesn't move with the window.
    How can I load an external SWF into a movie clip that's
    inside other movie clip?

    Hi,
    Recently, I have been putting together a flash presentation.
    And I am just wondering if the following might help you, in your
    communication with the said swf file:
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
    onComplete);
    function onComplete(event:Event):void
    event.target.content.thinggy_mc.y -= 100;
    Not the best example, but this allows you to target a mc
    within an external swf file. I think if you look up this code, you
    will have an answer ;)
    Kind Regards,
    Boxing Boom

  • Load multiple external images

    If you load say 3 external images in AS3 and want to run a function "useImages()" only once all three images have loaded what is the best way of listening for them to complete loading.
    EG;
    loader1.addEventListener(Eveent.COMPLETE, incLoader)
    loader2.addEventListener(Eveent.COMPLETE, incLoader)
    loader2.addEventListener(Eveent.COMPLETE, incLoader)
    function incLoader(event:Event)
         numLoaded ++
         if (numLoaded == 3)
                   useImages()
    There must be a better way than the above.
    Any feedback would be much appreciated
    Thanks

    Here's a set of functions I used to load pages into a flip page magazine app.  They keep track of how many pages are supposed to load and how many actually load.  I also used an XML file that the web people can update so that it loads different images.  You can add the loader objects in the loaders Array into any DisplayObjectContainer:
    var pageCount:int = 3;
    var pagesLoaded:int = 0;
    var loaders:Array = new Array;
    public function loadPage(aPage:String):void
      var pictLdr:Loader = new Loader();
      var pictURLReq:URLRequest = new URLRequest(aPage);
      pictLdr.load(pictURLReq);
      pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
      pictLdr.addEventListener(IOErrorEvent.IO_ERROR, pictErrorHandler);
      loaders.push(pictLdr);
      updateLoadText();
    private function imgLoaded(event:Event):void
      pagesLoaded++;
      addPagesToFlipBook();
    private function pictErrorHandler(event:IOErrorEvent):void
      var ldrInfo:LoaderInfo = LoaderInfo(event.target);
      loaders.splice(loaders.indexOf(ldrInfo.loader), 1);
      pageCount--;
      addPagesToFlipBook();
    private function updateLoadText():void
      errorText.text = "Loading image " + (pagesLoaded + 1) + " of " + pageCount + "..."
    private function addPagesToFlipBook():void
      updateLoadText();
      if (pagesLoaded == pageCount)
        ... do more stuff
    *edit* How do I create a code window for code?

  • How can I load pattern matching images into memory?

    I discovered this problem by accident when our network went down. I could not run my VI because the .png file used for pattern matching was on a network drive. My concern it the amount of time that is required to read a network file. Is there a way to load the file into memory when the VI is opened?

    Brian,
    Thank you for contacting National Instruments. For most pattern matching programs, the pattern file should only be read from file once and is then copy to a buffer on the local machine. If you examine your code, or an example program for pattern matching, you should see at least two IMAQ Create VI called somewhere near the front of your code. This VI basically creates a memory location and most likely will be called once for your pattern image and once for the image you are searching.
    Unless you are specifically calling a File Dialog VI where you are given a dialog box to open a file or have hard coded the file path so that it is read each iteration of your code, then your pattern file should only need to be called at the beginning of your application, th
    us causing only one file read over the network for that image. Therefore your program most likely already loads the image in memory once it is read and should not be accessing the network constantly.
    Again, I would recommend taking a look at your code to make sure you are not causing a file access every time and then you should be ready to go. Just in case you do have the network go down, I would recommend keeping a copy of the image locally and, if you are feeling ambitious, you can programmatically have your program read the file locally if the network file returns an error.
    Good luck with your application and let us know if we can be of any further assistance.
    Regards,
    Michael
    Applications Engineer
    National Instruments

  • Use Web API url for loading an external image in a report

    Hi there,
    I am trying to host an image in a report, which is coming out of a Web API. I am able access the image through a URL in a browser:
    https://companytest.com/api/TestFormImage?id=10358&EntityId=6719&imgMetadataName=TestDiagram
    Can anyone please help me how to include this in a report ? I have tried to include this as an external image with the URL embedded as a string like: 
    =string.Format("https://companytest.com/api/TestFormImage?id=10358&EntityId=6719&imgMetadataName=TestDiagram")
    NOTE: the output of the Web API is an image of MIME type PNG.
    Thanks in advance!
    Regards, Laks

    To add an external image
    In report design view, on the Insert tab, click Image.
    On the design surface, click and then drag a box to the desired size of the image.
    On the General tab of the Image Properties dialog box, type a name in the
    Name text box or accept the default.
    (Optional) In the Tooltip text box, type text to display when the user hovers over the image in a report rendered for HTML.
    In Select the image source, select External.
    For an image on a report server in native mode, type a relative path to the image in the
    Use this image box—for example, ../images/image1.jpg.
    For an image on a report server in SharePoint integrated mode, or any other Web site, type a full URL to the image in the
    Use this image box—for example, http://<SharePointservername>/<site>/Documents/images/image1.jpg.
    For more information, see Specifying Paths to External Items (Report Builder and SSRS).
    (Optional) Click Size, Visibility, Action, or
    Border to set additional properties for the image report item.
        Click OK.
    Andy Tauber
    Data Architect
    The Vancouver Clinic
    Website | LinkedIn
    This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click
    "Mark as Answer" and "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread.

  • Can we load generic binary image in Oracle spatial database

    hi i am new to this topic. so kindly help me out.
    can we store generic binary image in Oracle 10g spatial database?
    generic i mean there is no header information.

    hi everybody,
    thanks in advance. i am in little bit confusion. actually i am new to oracle 10g spatial db concept and image processing. i have to decide whether to store DEM & ORTHO image in Oracle 10g spatial database. or using BLOB to store these images. i have to design physical as well as logical database to store both above mentioned images.
    i don't have much knowledge about DEM & ORTHO image.
    i don't know what to do. even though i have started some of the Oracle 10g spatial concepts. i would like to know can i also use oracle intermedia for storing these images (ORTHO & DEM images).
    looking for help
    thanks
    Ajay

  • [solved] kmod, can't load nfnetlink module

    Wireshark is busted for me because nfnetlink can't load for some reason. Also
    modinfo /lib/modules/3.2.0-2-ARCH/kernel/net/netfilter/nfnetlink.ko.gz
    was giving me a funky error, I went back to module-init-tools so I forgot what it said, but even modprobe nfnetlink wouldn't work for me.
    Last edited by nfm (2012-01-08 23:37:05)

    falconindy wrote:I really need to know what error you were seeing or else it can't be fixed. Please try to reproduce with kmod-3-5.
    I was getting what @z0id got, "No such file or directory". With kmod 3-5 the issue appears to be fixed. Wireshark works and nfnetlink loads automatically.

  • How can I get an ucropped image in a Custom Package when using Stroke and/or Border??

    How can I get a picture in a Custom Package that has a Stroke and/or a border and get the image shown fully, and not cropped in one way or other?
    When I add the stroke/border it adds them inside the cell, thereby altering the ratio of the area for the picture inside it, which crops it in some way. How can I get the image to be uncropped?  The controls available seem to all be for the ration of the outside of the cell, but my image is inside the stroke/border and nothing seems to work on it directly ... 
    Many thanks,
    Gary

    Perhaps I misunderstood your requirement.  I have been frustrated by LR print module and labs effectively squeezing individual shots into existing frames. So I have used LR2Mogrify to export (and then re-import) a 'new image' which manages the discrepancy between a crop and a cell of a different aspect ratio by adding padding - usually 'white' - around the image to a canvas corresponding to cell dimensions. Adding stroke borders can be accomplished in Mogrify inside or outside the image.  A custom package, with multiple cell dimensions can be populated with images created in the corresponding aspect ratio(s) for the relevant cells.
    I'm not aware of a way of automating the creation of cells in a page to dimensions which change with the crop as discovered  - drag and drop images onto a blank page creates cells of the same standard size.  

  • Can we get  reference of WD component in custom class of enhanced View cont

    Dear Member,
    We are enhancing WD component. We need to get a reference of WD component in custom class of enhanced View controller (post exit) so that popups can be triggered or URLs can be called?. How should we get reference of WD component? I need to know cons of our approach.
    ...Naddy

    Hi,
    Create one static attribute in your custom class with type ref to of your component and populate this attribute in webdynpro enhancement and then use this reference in your custom class.
    Regards,
    Pon Murugesh

  • Loading an external image (from file system) to fla library as MovieClip symbol.

    Hi everyone,
    I am new to actionscript and Flash.
    I have been working on code updation project wherein initially we had an image and text as movieclips in fla library. The image and the text are read by the actionscript program which then creates an animation.
    For Example:
    // Picture
    // _imageMC: Name of the Movie Clip in the libary which
    // contains the picture.
    var _imageMC:String = "polaroid";
    This is later on used by another actionscript class as follows to finally create the animation.
    var _mcPolaroid:MovieClip = this._mcBg.attachMovie(this._polaroid, "polaroid_mc", this._mcBg.getNextHighestDepth());
    Now the problem here is when one needs to update the image or text, one needs to go and open the fla file andmanually change the image attached to the movieClip (polaroid).
    I want to ease the updation process by giving the url of the image in an XML file. Read the image url from the xml and load this image in the library of the fla as movieclip. This, i think, will result in less code change and improve the updation of the final animation image.
    The problem i am facing is not been able to figure out how can i change the image (after fetching its URL) to a movieclip and then load it in the library?
    Thank you kindly in advance,
    Varun

    This is the AS3 forum and you are posting with regards to AS2 code.  Try posting in the AS2 forum...
    http://forums.adobe.com/community/flash/flash_actionscript
    As for the solution you seem to want.  You cannot dynamically add something to the library during runtime.  To add an image during runtime you would need to use the MovieClip.loadMovie() or MovieClipLoader.loadClip() methods.  You could have the movieclip pre-arranged in the library, but to add the image dynamically via xml information you need to load it into a movieclip, not the library.

  • Loading an external image (from file system) to fla library as MovieClip symbol using ActionScript.

    Hi everyone,
    I am new to actionscript and Flash.
    I have been working on code updation project wherein initially we had an image and text as movieclips in fla library. The image and the text are read by the actionscript program which then creates an animation.
    For Example:
    // Picture
    // _imageMC: Name of the Movie Clip in the libary which
    // contains the picture.
    var _imageMC:String = "polaroid";
    This is later on used by another actionscript class as follows to finally create the animation.
    var _mcPolaroid:MovieClip = this._mcBg.attachMovie(this._polaroid, "polaroid_mc", this._mcBg.getNextHighestDepth());
    Now the problem here is when one needs to update the image or text, one needs to go and open the fla file andmanually change the image attached to the movieClip (polaroid).
    I want to ease the updation process by giving the url of the image in an XML file. Read the image url from the xml and load this image in the library of the fla as movieclip. This, i think, will result in less code change and improve the updation of the final animation image.
    The problem i am facing is not been able to figure out how can i change the image (after fetching its URL) to a movieclip and then load it in the library?
    Thank you kindly in advance,
    Varun

    The following was my attempt: (i created a new MovieClip)
    this.createEmptyMovieClip("polaroidTest", this.getNextHighestDepth());
    loadMovie("imagefile.jpg", polaroidTest)
    var _imageMC:String = "polaroidTest";
    This mentioned variable _imageMC is read by a MovieClip class(self created as follows)
    /////////////////////////////// CODE STARTS //////////////////////////////////////
    class as.MovieClip.MovieClipPolaroid {
    private var _mcTarget:MovieClip;
    private var _polaroid:String;
    private var _mcBg:MovieClip;
    private var _rmcBg:MovieClip;
    private var _w:Number;
    private var _h:Number;
    private var _xPosition:Number;
    private var _yPosition:Number;
    private var _border:Number;
    * Constructor
        function MovieClipPolaroid(mcTarget:MovieClip, polaroid:String) {
    this._mcTarget = mcTarget;
    this._polaroid = polaroid;
    init();
    * initialise the polaroid movieclip and reflecting it
        private function init():Void {
    this._border = 10;
    this.initSize();
    this.setPosition(48,35);
    this.createBackground();
    var _mcPolaroid:MovieClip = this._mcBg.attachMovie(this._polaroid, "polaroid_mc", this._mcBg.getNextHighestDepth());
    _mcPolaroid._x = _border;
    _mcPolaroid._y = _border;
    var _rmcPolaroid:MovieClip=this._rmcBg.attachMovie(this._polaroid,"rpolaroid_mc", this._rmcBg.getNextHighestDepth());
    _rmcPolaroid._yscale *=-1;
    _rmcPolaroid._y = _rmcPolaroid._y + _h + _border ;
    _rmcPolaroid._x =_border;
    * create the background for the polaroid
    private function createBackground():Void {
    this._mcBg = _mcTarget.createEmptyMovieClip("target_mc",_mcTarget.getNextHighestDepth());
    this._rmcBg = _mcTarget.createEmptyMovieClip("rTarget_mc", _mcTarget.getNextHighestDepth());
    fill(_mcBg,_w+2*_border,_h+2*_border,100);
    fill(_rmcBg,_w+2*_border,_h+2*_border,10);
    placeBg(_mcBg,_w+2*_border,_yPosition);
    placeBg(_rmcBg,_w+2*_border,_h+2*_border+_yPosition);
    * position the background
    private function placeBg(mc:MovieClip,w:Number,h:Number) : Void {  
        mc._x = Stage.width - w - _xPosition;
    mc._y = h;
    * paint the backgound
    private function fill(mc:MovieClip,w:Number,h:Number, a:Number): Void {
    mc.beginFill(0xFFFFFF);
    mc.moveTo(0, 0);
    mc.lineTo(w, 0);
    mc.lineTo(w, h);
    mc.lineTo(0, h);
    mc.lineTo(0, 0);
    mc.endFill();
    mc._alpha=a;
    * init the size of the polaroid
    private function initSize():Void {
    var mc:MovieClip =_mcTarget.createEmptyMovieClip("mc",_mcTarget.getNextHighestDepth());
    mc.attachMovie(this._polaroid,"polaroid_mc", _mcTarget.getNextHighestDepth());
    this._h = mc._height;
    this._w = mc._width;
    removeMovieClip(mc);
    mc = null;
    * sets the position of the polaroid
    public function setPosition(xPos:Number,yPos:Number):Void {
    this._xPosition = xPos;
    this._yPosition = yPos;
    * moving in
    public function moveIn():Tween {
    var mc:MovieClip = this._mcTarget;
    mc._visible=true;
    var tween:Tween = new Tween(mc, "_x", Strong.easeOut, 0, 0, 1, true);
    var tween:Tween = new Tween(mc, "_y", Strong.easeOut, 200, 0, 1, true);
    var tween:Tween = new Tween(mc, "_xscale", Strong.easeOut, 30, 100, 1, true);
    var tween:Tween = new Tween(mc, "_yscale", Strong.easeOut, 30, 100, 1, true);
    var tween:Tween = new Tween(mc, "_alpha", Strong.easeOut, 0, 100, 1, true);
    return tween;
    * moving in
    public function moveOut():Tween {
    var mc:MovieClip = this._mcTarget;
    var tween:Tween = new Tween(mc, "_alpha", Strong.easeIn, 99, 0, 1, true);
    var tween:Tween = new Tween(mc, "_x", Strong.easeIn,0, 1000, 1, true);
    var tween:Tween = new Tween(mc, "_y", Strong.easeIn, 0, -50, 1, true);
    var tween:Tween = new Tween(mc, "_xscale", Strong.easeIn, 100, 50, 1, true);
    var tween:Tween = new Tween(mc, "_yscale", Strong.easeIn, 100, 50, 1, true);
    return tween;
    /////////////////////////////// CODE ENDS ///////////////////////////////////////
    As in the current case, the name of the movieclip which has the image (originally polaroid) is being read through the variable _imageMC which we hadd given the value "polaroidTest".
    The animation shows no image even when i have inserted the correct url (i m sure this step isn't wrong).
    Any clues?

  • Can not load an external swf file from my site

    Hi ...
    I have a fla file which is loading external swf files from my local folders.
    I inserted some of the swf files to a web site and tried to load them from the site, not from my local folder...
    So it gave me a security error like below:
    *** Güvenlik Sanal Alanı İhlali ***security domain-area violation
    http://www.celiktek.com.tr/KIRIL.swf' SecurityDomain öğesi -- security domain element, 'file:///C|/Users/Acer/AppData/Local/Temp/Untitled%2D1.swf' uyumsuz bağlamına erişmeye çalıştı - tried to reach this incompatible url
    SecurityError: Error #2070: Güvenlik sanal alan ihlali -- security area violation: http://www.celiktek.com.tr/KIRIL.swf arayanı - searcher of this can not reach stage in file:///C|/Users/Acer/AppData/Local/Temp/Untitled%2D1.swf içindeki Stage'e erişemiyor. -
    at flash.display::Stage/requireOwnerPermissions()
    at flash.display::Stage/get numChildren()
    at KIRIL_fla::MainTimeline/frame1()
    so in my computer, I can load this swf , but how from a website ?
    thnx ...

    Thnaks ...
    I tried to use the securiyt panel that is openede and I added there my site
    www.celiktek.com.tr/KIRIL.swf
    but I still take the error
    *** Güvenlik Sanal Alanı İhlali ***
    http://www.celiktek.com.tr/KIRIL.swf' SecurityDomain öğesi, 'file:///C|/Users/Acer/AppData/Local/Temp/Untitled%2D1.swf' uyumsuz bağlamına erişmeye çalıştı
    SecurityError: Error #2070: Güvenlik sanal alan ihlali: http://www.celiktek.com.tr/KIRIL.swf arayanı file:///C|/Users/Acer/AppData/Local/Temp/Untitled%2D1.swf içindeki Stage'e erişemiyor.
    at flash.display::Stage/requireOwnerPermissions()
    at flash.display::Stage/get numChildren()
    at KIRIL_fla::MainTimeline/frame1()
    from my code
    var req:URLRequest=new URLRequest("http://www.celiktek.com.tr/KIRIL.swf");
    var lod:Loader=new Loader();
    lod.load(req);
    addChild(lod);
    lod.x=0;
    does this code works on your computer ... I know it is a weird question ... you dont have to try ...

  • Can't load my external cd/dvd drive

    Hi
    My mackbook cd/dvd drive broke down so I installed a SSD HD insted an boght an Extrernal CD/DVD drive instead.
    But It won't mount so I can't see it under units in finder.
    I've got a Mackbook A1278 with 2.4 Ghz Intel Core 2 Duo and 8GB RAM using OSX 10.7.5
    This is what I tried to do to fix it
    Used an USB hub instead to give it more power.
    I logged in as administrator and tried again
    I tried to start up in safe mode, Not posibble
    I let the drive stay in the USB port while booting and it powered up with drive sound, but no result...
    I used the drive on my other Macbook Pro - no problem- it loads programs and dvd's
    Morten :-)

    No.  The only way I finally got it to work was after about 5 restarts.  I've never seen iTunes flip out like that before.

  • I can not load my external keyboard - Logitech Ultrathin KB cover - do I need to restore iOS 7.1.1 / Bo

    Jeg kan ikke indlæse min eksterne tastatur - Logitech Ultratynd KB cover - har jeg brug for at gendanne iOS 7.1.1 / Bo

    Complete the setup by setting it up as a new iPhone, without restoring your backup.  Then update it to iOS 8 using iTunes on your computer (see Update the iOS software on your iPhone, iPad, and iPod touch - Apple Support).  After it's updated, you can eject it from iTunes and disconnect it from your computer.  Then erase the phone by going to Settings>General>Reset and tapping Erase All Content and Settings.  That will bring you back to the original setup screens, where you follow the prompts and this time choose Restore from iCloud Backup and restore the backup of your old phone (more details here: iCloud: Restore or set up your iOS device from iCloud).

Maybe you are looking for