targeting sprites from a method in the document class - null object reference
        Posted  
        
            by 
                Freddyk
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Freddyk
        
        
        
        Published on 2011-02-09T23:24:56Z
        Indexed on 
            2011/02/09
            23:25 UTC
        
        
        Read the original article
        Hit count: 304
        
Hi
I am trying to code a flash app entirely in the document class. I am using GestureWorks with a touch screen. When a user essentially presses a button it calls a method that should hide a specific graphic but not the graphic they touched.
Essentially I need a way to refer to a graphic on the screen using a method besides 'e.target'.
    //This code works because it can access 'e.target'.
    private function photo1SpriteFlickHandler(e:GestureEvent):void {
            var openTween:Tween = new Tween(e.target, "x", Strong.easeOut, 232, 970, 5, true);
    }
    //this code gives me a null object reference because I am using 'photo1Sprite' rather than 'e.target'
    private function photo1SpriteFlickHandler(e:GestureEvent):void {
            var openTween:Tween = new Tween(photo1Sprite, "x", Strong.easeOut, 232, 970, 5, true);
    }
    //photo1Sprite has already been programatically added to the screen as so:
    var photo1Sprite = new TouchSprite();
            var photo1Loader=new Loader();
            photo1Loader.load(new URLRequest("media/photos1/photo1.jpg"));
            photo1Loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);
            photo1Sprite.x = 232;
            photo1Sprite.y = 538;
            photo1Sprite.scaleX = .3;
            photo1Sprite.scaleY = .3;
            photo1Sprite.blobContainerEnabled = true;
            photo1Sprite.addEventListener(TouchEvent.TOUCH_DOWN, startDrag_Press);
            photo1Sprite.addEventListener(TouchEvent.TOUCH_UP, stopDrag_Release);
            photo1Sprite.addChild(photo1Loader);
        addChild(photo1Sprite);
So I can make photo1Sprite react if my method is attached to it directly using 'e.target' but not if I am trying to call it from a method that was called from another element on the screen.
© Stack Overflow or respective owner