Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   as3 проблема с мувиклипами (http://www.flasher.ru/forum/showthread.php?t=133560)

syrkashev 08.12.2009 10:37

as3 проблема с мувиклипами
 
Здравствуйте, Друзья!

Помогите разобраться в следующей проблеме. Во флэшке есть несколько мувиклипов. Необходимо, что бы при нажатии на каждый из мувиклипов открывалась своя фотография. Т.е. грубо говоря: нажимаешь на мувиклип "photo1" открывается (загружается) файл photo1.jpg.

Вопрос в следующем. Как определить какой из мувиклипов был нажат? И как в зависимости от нажатого мувиклипа задавать переменной request нужное значение?

Ниже представлен код, в котором просто отслеживается нажатие на мувиклип и по нажатии загружается тестовая фотка. Куски кода взяты с flasher.ru.

Код:

package main{
       
        import flash.display.Sprite;
        import flash.display.Loader;
        import flash.display.LoaderInfo;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.events.ProgressEvent;

        public class mainpage extends Sprite {
                private var loader:Loader = new Loader();
                private var loadStatus:TextField = new TextField();
                private var request:URLRequest = new URLRequest("test.jpg");

                public function mainpage() {
                        addEventListener(MouseEvent.CLICK, onCLICK);
                }
                public function onCLICK(evt:MouseEvent) {
                        loader.load(request);
                        loader.contentLoaderInfo.addEventListener(Event.OPEN,displayPreloader);
        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,updatePreloader);
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE,displayImage);
                }
                private function displayPreloader(evt:Event):void {
                        loadStatus.autoSize = TextFieldAutoSize.CENTER;
                        addChild(loadStatus);
                        loadStatus.x=400;
                        loadStatus.y=400;
                }
                private function updatePreloader(evt:ProgressEvent):void {
                        loadStatus.text = "loaded:"+evt.bytesLoaded+" from "+evt.bytesTotal;
                }
                private function displayImage(evt:Event):void {
                        removeChild(loadStatus);
                        addChild(loader);
                        loader.x=100;
                        loader.y=200;
                }
        }
}

С уважением,
Сыркашев Евгений

Jewelz 08.12.2009 11:14

отслеживать на какой клип тыкнули можно через evt.target

а классы с прописной писать стоит :)

syrkashev 08.12.2009 12:04

Спасибо за совет. :)

Может кто-нибудь кинуть ссылочку на наглядный код с evt.target? Сам ничего путнего не могу найти.


Часовой пояс GMT +4, время: 04:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.