PDA

Просмотр полной версии : Drag объектов в заданном поле


Arhitector
15.11.2006, 12:11
Привет всем!
Делаю проект в котором нужно будет двигать и растягивать объекты как в ширину так и в высоту.
Как можно сделать чтобы объект не выходил за нужные рамки (допустим: выделенное пространство для объектов)?

Arhitector
15.11.2006, 12:24
Немного подробнее:
Нужно сделать при нажатии на кнопку подгружаются мувики, мувики грузятся в определенную область в которой нужно будет их двигать по X и Y, а также изменять размер по X и Y. Нужно чтобы эти мувики при передвигании не выходили за отведенные им поля...

Как это реализовать? Может кто поможет?

Roland
15.11.2006, 14:30
Можно стандартным стартдрагом и стопдрагом, но ИМХО он кривой.
Лучше опиши событие 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

Roland
16.11.2006, 16:44
Объясняю почему то, что ты зделал - плохо (хотя если тебя устраивает нестабильность и лаги - то твой вариент катит).
Что я делал:
1. Нажимаю на "Шапка". Появляется в сером поле чёрный мувик с надписью шапка.
2. Нажимаю и удерживаю левую кнопку мыши на мувике с надписью шапка.
3. Увожу указатель мышки за границу серого поля, и отпускаю там левую кнопку маши. И происходит странное - кнопка мышки отпужена, а если теперь поводить по серому полю, то мувик бегает за указателем.
Вот про етот глюк старт/стоп драга я тебе и говорил.
Если событие возникающее при отпускании нажатой кнопки возникает на другом объекте, то на этом оно не возникает :(

Arhitector
17.11.2006, 15:54
Ну а как по твоему нужно сделать?