|
|
|||||
Регистрация: Sep 2012
Сообщений: 28
|
DragDrop + Zoom карты игры
Добрый день! Помогите советом, пожалуйста! Есть картинка игры карты, достаточно здоровая (такое задание) 2000*1000, а сцена 1024*768. Так вот, необходимо сделать таскание драг/дропом карты, чтоб она не выходила за пределы, да ещё и если игрок колёсико мышки начнёт вращать (вычитала что с этим с Starling беда и там есть трики какие-то), то начать зум относительно той точки, и ещё и так чтобы всё равно карта не выходила за пределы экрана. Беда ещё и в том, что это нужно в Starling... Куда копать? Я с ним второй день всего работаю, пока не знаю хороших мануалов(((
|
|
|||||
Регистрация: Sep 2012
Сообщений: 28
|
Ребят, привет, с горем пополам сделала драгдроп плавный, но как только пытаюсь это ещё и зумить, то всё - всё выходит за свои границы сцены, а это не нужно.Может это обернуть ещё в другой спрайт, и в нём уже зумить? Уже миллион примеров испробовала, - ничего не помогает... Помогите, пожалуйста! Псевдопример очень поможет..
|
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
Создавайте отдельный класс mapNavigator. который получает на вход только фулсайз карту, и размеры экрана. Это чтоб не было путаницы.
Внутри должен быть один метод типа moveController, который контролирует чтоб границы карты не выходили за границы экрана при любом дейсвтии с ней(зум, мув) private function moveController() { var widthConst:Number = 2500*map.scaleX; var heightCont:Number = 2000*map.scaleY; map.x = Math.round(map.x); map.y = Math.round(map.y); if (map.x> 0) map.x = 0; if (map.y > 0) map.y = 0; if (map.x < -(widthConst - scrollRect.width)) map.x = -(widthConst - scrollRect.width); if (map.y < -(heightCont - scrollRect.height)) map.y = -(heightCont - scrollRect.height); } |
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
gumback, 2d camera
|
|
|||||
Регистрация: Sep 2012
Сообщений: 28
|
Спасибо, ребята! Буду пробовать. Пока вот ещё тоже посоветовали использовать features компонент, называется ScrollContainer, немного помудрив, втюхала туда зум, но всё равно есть над чем поработать, спасибо!
|
Часовой пояс GMT +4, время: 17:18. |
|
« Предыдущая тема | Следующая тема » |
|
|