Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как начать startDrag при клике по любому месту спрайта? (http://www.flasher.ru/forum/showthread.php?t=125105)

Огнеметчик 16.05.2009 19:17

Как начать startDrag при клике по любому месту спрайта?
 
Создаю спрайт с кругом внутри:
Код AS3:

var c: Sprite = new Sprite();
c.graphics.beginFill(0xCCCCCC);
c.graphics.drawCircle(0, 0, 10);                                               
c.graphics.endFill();

И на событие маус_даун прикручиваю startDrag(). Так вот, стартДраг срабатывает только если кликнуть по самому кругу, если кликнуть в пределах спрайта, но не по кругу, то стартДраг не сработает, а нужно чтобы и в этом случае срабатывал.

Сейчас проблему решил просто, делаю заливку всего спрайта произвольным цветом со стопроцентной прозрачностью, но думаю это немного кривое решение. Есть более правильный вариант решения этой задачки?

darksranger 16.05.2009 20:54

Код AS3:

с.mouseEnabled = false
на тот спрайт в который кладете круг вешайте Mouse_Down


alatar 16.05.2009 21:26

В данном случае круг и есть "весь спрайт", что вы подразумеваете под пределами спрайта? Ограничивающий его квадрат?

Огнеметчик 16.05.2009 22:41

Цитата:

Сообщение от alatar (Сообщение 820432)
В данном случае круг и есть "весь спрайт", что вы подразумеваете под пределами спрайта? Ограничивающий его квадрат?

Немного по другому поставлю задачу. В спрайте рисую 2 круга, каждый радиусом 20 пикселов, и с координатами (20, 20) и (60, 20). То есть центры у них на одной горизонтальной линии, и круги соприкасаются. Надо чтобы стартДраг срабатывал тогда, когда я кликаю между кругами, но не поподаю ни по одному из них

alatar 16.05.2009 22:53

Тогда только отрисовать прозрачный фон, или отрисовать в битмапу


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

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