![]() |
Drag объектов в заданном поле
Привет всем!
Делаю проект в котором нужно будет двигать и растягивать объекты как в ширину так и в высоту. Как можно сделать чтобы объект не выходил за нужные рамки (допустим: выделенное пространство для объектов)? |
Немного подробнее:
Нужно сделать при нажатии на кнопку подгружаются мувики, мувики грузятся в определенную область в которой нужно будет их двигать по X и Y, а также изменять размер по X и Y. Нужно чтобы эти мувики при передвигании не выходили за отведенные им поля... Как это реализовать? Может кто поможет? |
Можно стандартным стартдрагом и стопдрагом, но ИМХО он кривой.
Лучше опиши событие onPress для кождого мувика, который нужно будет перетаскивать дальше создай onEnterFrame для этого мувика (на которому нажали). Дальше смотри координаты мыши и если они не выходят за нужные рамки, то двигай мувик. На onRelease удаляй onEnterFrame. ИМХО вполне приличный вариант. |
Вложений: 3
Вот, возьми. Scale сам сделаешь. С этой структурой это будет сделать элементарно.
|
ОК всем спасибо... но у меня все проще получилось...
Создал кнопку, запихнул его в мувик и повесил код на саму кнопку. Определил нужные границы для перетаскиваемого объекта и все работает!!! Код:
on (press) { |
Цитата:
1) Совет: разбери тот пример который я тебе прислал. Он тебе очень поможет в будущем. 2) Читай пункт 6: http://flasher.ru/forum/showthread.php?t=79864 3) Удачи :) |
Вложений: 1
|
Объясняю почему то, что ты зделал - плохо (хотя если тебя устраивает нестабильность и лаги - то твой вариент катит).
Что я делал: 1. Нажимаю на "Шапка". Появляется в сером поле чёрный мувик с надписью шапка. 2. Нажимаю и удерживаю левую кнопку мыши на мувике с надписью шапка. 3. Увожу указатель мышки за границу серого поля, и отпускаю там левую кнопку маши. И происходит странное - кнопка мышки отпужена, а если теперь поводить по серому полю, то мувик бегает за указателем. Вот про етот глюк старт/стоп драга я тебе и говорил. Если событие возникающее при отпускании нажатой кнопки возникает на другом объекте, то на этом оно не возникает :( |
Ну а как по твоему нужно сделать?
|
| Часовой пояс GMT +4, время: 19:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.