Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Запутался с математикой (масштаб + смещение) (http://www.flasher.ru/forum/showthread.php?t=100785)

evgenz 04.09.2007 19:58

Запутался с математикой (масштаб + смещение)
 
Делаю интерактивную карту
Есть мувик с картой, есть курсор мыши как увеличительное стекло
Надо что бы при нажатии в любое место мувика он увеличивался на определенный коэфециент.. и смещался причем так что бы точка куда нажали оказывалась в центре сцены.
Сцена 640х480
Кликаем
Смещаем:
Код:

_root.map._x = (320 - _root._xmouse) + _root.map._x;
_root.map._y = (240 - _root._ymouse) + _root.map._y;

Увеличиваем:

Код:

_root.map._xscale *=1.1;
_root.map._yscale *=1.1;

Но нужно еще смещение, так как точка куда кликнули "упалзает" при увеличении..
не как не пойму как ее вычислить

Wolsh 04.09.2007 20:13

Сохрани ее координаты прежде чем делать скейл
я делал так на онПресс
Код:

xxx = this._xmouse
yyy = this._ymouse
if(_root.isCONTROL){ // ну тут буля что нажат CTRL - тогда уменьшаем
        paper_mc._xscale -= 50;
        paper_mc._yscale -= 50;
        } else {
        paper_mc._xscale += 50;
        paper_mc._yscale += 50;
        }
        paper_mc._x = _root._xmouse - xxx*paper_mc._xscale/100;
        paper_mc._y = _root._ymouse - yyy*paper_mc._yscale/100;

Но тут код наоборот "оставляет" точку точно в том же месте.
Думаю, разберешься как поправить для себя :)


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

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