Форум 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)
-   -   Как сделать Drag привязанный к оси ??? (http://www.flasher.ru/forum/showthread.php?t=67095)

rukez 24.07.2005 22:34

Как сделать Drag привязанный к оси ???
 
Замучался уже весь :) Как сделать драг который работает только в одной оси - т.е. нужно чтобы при драге мувик двигался ТОЛЬКО в одной оси (например по y) и желательно прикрутить к этому ограничение (от а до б).
Пробовал делать по принципу
Код:


_root["window"+(index)].button_move.onDragOut = function (){
_root[this._parent._name].button_move._y = _root._ymouse;
};

или что-то в этом духе, но если резко дёрнуть мышью, то мувик её теряет :(
---
По сути при нажатии на button_move она должна перейти в режим .startDrag НО! двигаться только по оси У пока её не отпустят. Самый простой пример - не развёрнутое на полный экран виндовское окошко - нижняя грань которая делает ресайз окна, о как завернул :)
П.С. не бейте за странный код - просто кусок из кода где генерится массив мувиков с последовательными именами - отсюда и index и кривые обращения через _parent._name - но это тема другого вопроса :)

rukez 24.07.2005 22:36

Да, уже впринципе думал сделать маску по ширине мувик высотой в весь stage и увеличить ширину самого мувика в 3 раза - тогда впринципе получится то что надо, но как-то больно коряво ... %(

Den0k 24.07.2005 23:08

всё просто решается через StartDrag
Код:

_root.drag_mc.onPress = function() {
_root.drag_mc.startDrag(true, _root.drag_mc._x, /*top*/, _root.drag_mc._x, /*bottom*/);
};


rukez 25.07.2005 00:07

Вау ! :) Спасибо огромное - целый день бился :) Впринципе получилось через маску но очень криво :) Так намного лучше ессно - просто как-то в мануале через Ж написано про опциональные к драгу ("left, top, right, bottom Values relative to the coordinates of the movie clip's parent that specify a constraint rectangle for the movie clip. These parameters are optional.")
Ещё раз спасибо :)


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

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