Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Шпионская лупа (http://www.flasher.ru/forum/showthread.php?t=144184)

SONce 05.09.2010 16:14

Шпионская лупа
 
Возникла такая задача.

Во флешке размещена фото. Над ней нарисован прямоугольник, полностью ее закрывающий, тоесть фотки не видно. Водя мышкой, ты перемещаешь курсор в виде круга.

Задача показывать в этом круге то что на фото. Тоесть смотреть какбы сквозь квадрат.

Натолкните на мысль как это реализовать. Ну или если есть у кого то кусочек кода.

КорДум 05.09.2010 16:19

setMask
mask http://help.adobe.com/ru_RU/AS3LCR/F...ject.html#mask

3p.station 05.09.2010 16:20

первый слой - прямоугольник
второй слой(верхний) фотография под маской , в слое маски круг. перемещать круг.

SONce 05.09.2010 16:21

незнал про маску. спасибо, сейчас попробую

Добавлено через 45 минут
спаибо. с маской разобрался. однако возник такой вопрос.

Код AS3:

var url:String = "http://www.helpexamples.com/flash/images/image1.jpg";
var urlReq:URLRequest = new URLRequest(url);
 
this.lo.load(urlReq);
this.lo.mask=ma;
 
 
ma.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
ma.addEventListener(MouseEvent.MOUSE_UP, mouseReleasedHandler);
 
function mouseDownHandler(e:MouseEvent):void {
trace('DOWN');
  ma.startDrag();
}
 
function mouseReleasedHandler(e:MouseEvent):void {
trace('RELEASE');
  ma.stopDrag();
}

lo - это UIloader
ma - это кружочек который мувиклип.
если не цеплять на него(ma) маску то он нормально драгается и все дела. Как только нацепляю на него маску то он перестает слушать эвенты и собственно не двигается. Как лучше решить данную проблему?

3p.station 05.09.2010 17:33

а что на лоадер можно разве маску нацепить? у вас там ошибки нету? лучше загрузить картинку в спрайт и ему уже маску применять .... и маску вроде тоже надо на сцену добавлять

SONce 05.09.2010 17:34

можно. работает :)

это не лоадер а UILoader из библиотеки
а не будет ли со спрайтом тоже самого? евенты перестает слушать не лоадер же а мувиклип

3p.station 05.09.2010 17:49

вешай не на маску тогда ана стейдж например литснереы

SONce 05.09.2010 17:52

ммм, а как я повешу листенер на стейдж что он слушал только мувиклип?

Добавлено через 4 минуты
вышел из проблемы пока таким способом
Код AS3:

addEventListener(Event.ENTER_FRAME, move_bal);
function move_bal(e:Event):void {
//trace(mouseX);
ma.x=mouseX-50;
ma.y=mouseY-50;
}

но всетаки хочется по человечески драгом сделать. Может кто что подскажет.

3p.station 05.09.2010 17:58

ну ок тогда ставь прослушку на твой прямоунольник что под картинкой а на сам лоадер поставь mouseEnabled = false;

SONce 05.09.2010 17:59

о, и правда. спасибо, помогло


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

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