Просмотр полной версии : Drag объектов в заданном поле
Arhitector
15.11.2006, 12:11
Привет всем!
Делаю проект в котором нужно будет двигать и растягивать объекты как в ширину так и в высоту.
Как можно сделать чтобы объект не выходил за нужные рамки (допустим: выделенное пространство для объектов)?
Arhitector
15.11.2006, 12:24
Немного подробнее:
Нужно сделать при нажатии на кнопку подгружаются мувики, мувики грузятся в определенную область в которой нужно будет их двигать по X и Y, а также изменять размер по X и Y. Нужно чтобы эти мувики при передвигании не выходили за отведенные им поля...
Как это реализовать? Может кто поможет?
Можно стандартным стартдрагом и стопдрагом, но ИМХО он кривой.
Лучше опиши событие onPress для кождого мувика, который нужно будет перетаскивать дальше создай onEnterFrame для этого мувика (на которому нажали). Дальше смотри координаты мыши и если они не выходят за нужные рамки, то двигай мувик. На onRelease удаляй onEnterFrame.
ИМХО вполне приличный вариант.
_sestra_
15.11.2006, 15:13
Вот, возьми. Scale сам сделаешь. С этой структурой это будет сделать элементарно.
Arhitector
15.11.2006, 16:35
ОК всем спасибо... но у меня все проще получилось...
Создал кнопку, запихнул его в мувик и повесил код на саму кнопку.
Определил нужные границы для перетаскиваемого объекта и все работает!!!
on (press) {
startDrag(this._parent.intrance_name);
this._parent.intrance_name.startDrag(false,-9,0,89,191);
}
on (release) {
stopDrag();
}
_sestra_
15.11.2006, 17:26
ОК всем спасибо... но у меня все проще получилось...
Создал кнопку, запихнул его в мувик и повесил код на саму кнопку.
Определил нужные границы для перетаскиваемого объекта и все работает!!!
on (press) {
startDrag(this._parent.intrance_name);
this._parent.intrance_name.startDrag(false,-9,0,89,191);
}
on (release) {
stopDrag();
}
1) Совет: разбери тот пример который я тебе прислал. Он тебе очень поможет в будущем.
2) Читай пункт 6: http://flasher.ru/forum/showthread.php?t=79864
3) Удачи :)
Arhitector
15.11.2006, 19:01
Вот посмотри как я сделал
15785
Объясняю почему то, что ты зделал - плохо (хотя если тебя устраивает нестабильность и лаги - то твой вариент катит).
Что я делал:
1. Нажимаю на "Шапка". Появляется в сером поле чёрный мувик с надписью шапка.
2. Нажимаю и удерживаю левую кнопку мыши на мувике с надписью шапка.
3. Увожу указатель мышки за границу серого поля, и отпускаю там левую кнопку маши. И происходит странное - кнопка мышки отпужена, а если теперь поводить по серому полю, то мувик бегает за указателем.
Вот про етот глюк старт/стоп драга я тебе и говорил.
Если событие возникающее при отпускании нажатой кнопки возникает на другом объекте, то на этом оно не возникает :(
Arhitector
17.11.2006, 15:54
Ну а как по твоему нужно сделать?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.