Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Локальные координаты (http://www.flasher.ru/forum/showthread.php?t=144137)

ageent 03.09.2010 20:08

Локальные координаты
 
Вложений: 1
Всем привет. Делаю масштабирование карты Украины с помощью курсора мышки. Карту создал из спрайтов где каждая область это свой отдельный спрайт.

Для масштабирования мне необходимо получить значение mouse["localX"] для мышки. Проблема в том что при попытки получить mouse["localX"] я получаю mouse["localX"] того спрайта на который наведена мышка, а не основного спрайта в котором лежат все остальные спрайты.

Если вместо спрайтов с областями использовать одну картинку или область, то масштабирование работает нормально, но тогда я не могу повесить события на нужные мне области карты.

Основной код для маcштабирования карты:

Код AS3:

public function _zoom(mouse:MouseEvent):void {
        var _xs:Number = mouse["stageX"];
        var _ys:Number = mouse["stageY"];
 
        var _xm:Number = mouse["localX"];
        var _ym:Number = mouse["localY"];
 
        object.scaleX += mouse.delta / 20;
        object.scaleY += mouse.delta / 20;
 
        object.x = _xs - _xm * object.scaleX;
        object.y = _ys - _ym * object.scaleY;
}

Рабочий пример пример приложил ниже. Как быть? и еще как можно сделать перетаскивание карты более плавным? спасибо

Wolsh 03.09.2010 20:32

У меня Ваш файл вешает программу, скажу по коду - не берите localX/localY из события, просто спрашивайте mouseX/mouseY у контейнера, в котором лежат области.

ageent 03.09.2010 20:48

вот я баран. большое спасибо


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

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