Форум 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=181420)

koljsch 22.06.2012 17:49

Выбор объекта
 
У меня есть несколько объектов типа Sprite. Необходимо чтобы при нажатие на них они выделялись рамкой. Проблема в том, что нарисовать та я рамку могу, но вот передвинуть потом никак
Код:
Код AS3:

 
var shapes:Sprite = new Sprite()
var gr:Graphics = shapes.graphics;         
gr.lineStyle(4, 0x330066, .5);     
gr.drawRect(0,0,event.currentTarget.height,event.currentTarget.width)
gr.endFill();
shapes.x = event.currentTarget.x; 
shapes.y = event.currentTarget.y; 
addChild(shapes);

event.currentTarget-тут объект типа Sprite который вызывает функцию. Если я делаю так:
Код AS3:

 
shapes.x=10;
shapes.y=10;

То рамка почему-то не меняет свое положение второй раз. Как исправить?

Hauts 22.06.2012 17:56

Каждый раз при клике вы создаете новый спрайт, чтобы нарисовать в нем рамку?

koljsch 22.06.2012 18:04

Все, понял)) Надо было код
Код AS3:

var shapes:Sprite = new Sprite();

сделать вне функции)) Огромное спасибо!

Jewelz 22.06.2012 18:06

можно попробовать сделать обводку у спрайта через glow:
Код AS3:

private function onClick(e:MouseEvent):void
{
        clearCurrent();
        currentItem = e.currentTarget as Sprite;
        currentItem .filters = [new GlowFilter(0x330066, 1, 1, 1, 10)];
}

и при клике на другой спрайт у предыдущего убирать обводку:
Код AS3:

private function clearCurrent():void
{
        currentItem.filters = [];
}



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

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