Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Ограничения области перемещения курсора. (http://www.flasher.ru/forum/showthread.php?t=84744)

concept 07.09.2006 00:55

Ограничения области перемещения курсора.
 
Приветстую!
Кто может подсказать код для ограничения области перемещения курсора.
А именно, курсор заменен картинкой (изображен карандаш). А проблемма в том, что при приближении этого курсора к краю swf-файла, вставленного в html-файл часть курсора, естественно обрезается. То есть, например, карандаш при выходе курсора вправо за пределы swf остается на том же месте и большей частью обрезанным.

А пожелание такое: надо как то останавливать курсор-картинку подальше от края swf, а там уже за пределами swf, на "территории" html-файла пусть появляется обычный курсор.

Код для мувиклипа курсора использован вот такой:
Код:

stop();
var mouseCursor = mcCursor;
Mouse.hide();
mouseCursor.maxLength = 5;
mouseCursor.currLength = 0;
mouseCursor.onEnterFrame = processCursorEnterFrame;
function processCursorEnterFrame() {
        this._x = this._parent._xmouse;
        this._y = this._parent._ymouse;
}


В этом клипе этотActionScript отдельным слоем, а в другом слое картинка с именем экземпляра "mcCursor"


Спасибо.

Nirth 07.09.2006 01:23

if else

Dendroid 07.09.2006 06:27

А я делал в таком же точно случае, чтобы при подходе к краю карандаш разворачивался :)
Т.е. основное положение карандаша - вправо-вверх от курсора (точки касания бумаги). При подходе к правому краю листа, плавно поворачиваем карандаш в направлении влево-вверх, при подходе к верхнему краю - в направлении вправо-вниз. В правом верхнем углу надо довернуть до положения влево-вниз.
Очень живенько и натурально получалось, рекомендую...

scourge ' kangaroo 07.09.2006 11:49

при условии, что mcCursor находится в руте. если не в руте, то делой локал ту глобал.
Код:

mcCursor._x = _xmouse;  mcCursor._y = _ymouse;
if(mcCursor._x < 10)mcCursor._x = 10;
if(mcCursor._y < 10)mcCursor._y = 10;
if(mcCursor._x > Stage.width - 10)mcCursor._x = Stage.width - 10;
if(mcCursor._x > Stage.height - 10)mcCursor._x = Stage.height - 10;

вот...

concept 09.09.2006 11:16

Цитата:

Сообщение от Dendroid
А я делал в таком же точно случае, чтобы при подходе к краю карандаш разворачивался :)
Т.е. основное положение карандаша - вправо-вверх от курсора (точки касания бумаги). При подходе к правому краю листа, плавно поворачиваем карандаш в направлении влево-вверх, при подходе к верхнему краю - в направлении вправо-вниз. В правом верхнем углу надо довернуть до положения влево-вниз.
Очень живенько и натурально получалось, рекомендую...


Интересно.
А можно посмотреть пример?
Там я сам уже код и анимацию подробно посмотрю.

concept 09.09.2006 11:40

Цитата:

Сообщение от scourge ' kangaroo
при условии, что mcCursor находится в руте. если не в руте, то делой локал ту глобал.
Код:

mcCursor._x = _xmouse;  mcCursor._y = _ymouse;
if(mcCursor._x < 10)mcCursor._x = 10;
if(mcCursor._y < 10)mcCursor._y = 10;
if(mcCursor._x > Stage.width - 10)mcCursor._x = Stage.width - 10;
if(mcCursor._x > Stage.height - 10)mcCursor._x = Stage.height - 10;

вот...

Спасибо.


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

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