Search code examples
actionscript-3event-handlingblackberry-playbook

Identifing object clicked


I'm developing an ActionScript 3 for Blackberry Playbook. I'm very very new on ActionScript 3 development.

I have this:

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.URLRequest;

    [SWF(width="1024", height="600", backgroundColor="#cccccc", frameRate="30")]
    public class Transition extends Sprite
    {
        private var imageBack:Loader;
        private var imageFront:Loader;

        public function Transition()
        {
            super();
            createGUI();

            imageBack.load(new URLRequest("assets/images/back.png"));
            imageFront.load(new URLRequest("assets/images/front.png"));

        }

        private function createGUI():void {
            imageBack = new Loader();
            imageBack.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadedEvent);
            imageBack.addEventListener(MouseEvent.CLICK, onImageClicked);

            imageFront = new Loader();
            imageFront.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadedEvent);
            imageFront.addEventListener(MouseEvent.CLICK, onImageClicked);
        }

        private function onLoadedEvent(event:Event):void {
            // Blah, Blah, Blah...
        }

        private function onImageClicked(event:MouseEvent):void {
            var currentTarget:Loader = Loader(event.currentTarget);
        }
    }
}

I want to identify which image has been clicked on onImageClicked function.

How can I do that?


Solution

  • you can specify a name for each of Loaders and check it (or check it without specifying - they'll have different names by default):

    switch((event.currentTarget as Loader).name){
        case imageBack.name:
        trace('imageBack here');
        break;
    
        case imageFront.name:
        trace('imageFront here');
        break;
    }