PDA

Просмотр полной версии : Ограничения области перемещения курсора.


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


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

concept
09.09.2006, 11:40
при условии, что 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;вот...

Спасибо.