Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   DragDrop + Zoom карты игры (http://www.flasher.ru/forum/showthread.php?t=210120)

gumback 29.01.2015 21:28

DragDrop + Zoom карты игры
 
Добрый день! Помогите советом, пожалуйста! Есть картинка игры карты, достаточно здоровая (такое задание) 2000*1000, а сцена 1024*768. Так вот, необходимо сделать таскание драг/дропом карты, чтоб она не выходила за пределы, да ещё и если игрок колёсико мышки начнёт вращать (вычитала что с этим с Starling беда и там есть трики какие-то), то начать зум относительно той точки, и ещё и так чтобы всё равно карта не выходила за пределы экрана. Беда ещё и в том, что это нужно в Starling... Куда копать? Я с ним второй день всего работаю, пока не знаю хороших мануалов(((

gumback 11.02.2015 04:25

Ребят, привет, с горем пополам сделала драгдроп плавный, но как только пытаюсь это ещё и зумить, то всё - всё выходит за свои границы сцены, а это не нужно.Может это обернуть ещё в другой спрайт, и в нём уже зумить? Уже миллион примеров испробовала, - ничего не помогает... Помогите, пожалуйста! Псевдопример очень поможет..

faraday 11.02.2015 12:45

Создавайте отдельный класс mapNavigator. который получает на вход только фулсайз карту, и размеры экрана. Это чтоб не было путаницы.
Внутри должен быть один метод типа moveController, который контролирует чтоб границы карты не выходили за границы экрана при любом дейсвтии с ней(зум, мув)
Код AS3:

                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);
                }


nubideus 11.02.2015 13:36

gumback, 2d camera

gumback 12.02.2015 18:03

Спасибо, ребята! Буду пробовать. Пока вот ещё тоже посоветовали использовать features компонент, называется ScrollContainer, немного помудрив, втюхала туда зум, но всё равно есть над чем поработать, спасибо!


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

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