Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Программно сдвинуть курсор (http://www.flasher.ru/forum/showthread.php?t=147245)

BregoXX 30.11.2010 02:45

Программно сдвинуть курсор
 
Можно ли во Flash программно сдвинуть курсор?

udaaff 30.11.2010 03:01

Нельзя.

tsarapkabel 30.11.2010 03:19

Можно же скрыть программный курсор и нарисовать свой, предварительно сдвинув его координаты.

iNils 30.11.2010 12:24

Цитата:

Сообщение от tsarapkabel (Сообщение 953592)
Можно же скрыть программный курсор и нарисовать свой, предварительно сдвинув его координаты.

Только точка клика будет там, где реальный курсор.

Dukobpa3 30.11.2010 12:51

Цитата:

Сообщение от iNils (Сообщение 953624)
Только точка клика будет там, где реальный курсор.

Ну я думаю если идти в сторону изврата с удалением одного курсора и добавлением другого со смещением, то можно так же и диспатчить свой клик в том месте где надо ;)

leofit 30.11.2010 14:37

2 Dukobpa3 такой диспатч не прокатит

BregoXX 30.11.2010 16:37

Грусть, печаль...
Буду думать в другую сторону.
Спасибо за ответы

Psycho Tiger 30.11.2010 16:55

leofit, почему например?

Dukobpa3 30.11.2010 19:30

Код AS3:

package classes.utils.myinterface 
{
        import flash.events.Event;
 
        public class CustomClickEvent extends Event
        {
 
                public static var X:int;
                public static var Y:int;
 
                public function MainMenuEvent(X:int, Y:int)
                {
 
                        super("CustomClick");
 
                        this.X = X;
                        this.Y = Y;
 
                }
 
                public override function clone():Event {
                        return new MainMenuEvent("CustomClick", X, Y);
                }
 
        }
 
}

Код AS3:

......................
private var offsetX:int = 100;
private var offsetY:int = 100;
 
drawCustomCursor(offsetX, offsetY);
this.addEventListener(MouseEvent.CLICK, customClick);
 
private function customClick(e:MouseEvent):void {
  dispatchEvent(new CustomClick(mouseX + offsetX, mouseY + offsetY);
}


как-то так.... и что не прокатит? Пользуем у нашего события X, Y вместо mouseX, mouseY.

Но да, определенный геморрой есть. Если мы хотим тыкнуть по мувиклипу1 в точке 5:5 и размером 20:20 (там находится наш кастомный курсор), то кликаться то будет там где наш реальный курсор, и системно и правильно мы не попадем по мувиклипу желаемому. А потому функцию customClick придется раздуть и прикрутить туда какие-то хиттесты и прочее, чтобы всё-таки попадать туда куда нам надо.

goodguy 30.11.2010 19:38

Цитата:

2 Dukobpa3 такой диспатч не прокатит
Прокатит. Мне доводилось подобное делать


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

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