Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.09.2007, 19:58
evgenz вне форума Посмотреть профиль Отправить личное сообщение для evgenz Посетить домашнюю страницу evgenz Найти все сообщения от evgenz
  № 1  
Ответить с цитированием
evgenz

Регистрация: Feb 2001
Адрес: Moscow
Сообщений: 223
Отправить сообщение для evgenz с помощью ICQ
Attention Запутался с математикой (масштаб + смещение)

Делаю интерактивную карту
Есть мувик с картой, есть курсор мыши как увеличительное стекло
Надо что бы при нажатии в любое место мувика он увеличивался на определенный коэфециент.. и смещался причем так что бы точка куда нажали оказывалась в центре сцены.
Сцена 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;
Но нужно еще смещение, так как точка куда кликнули "упалзает" при увеличении..
не как не пойму как ее вычислить
__________________
WebInside.RU

Старый 04.09.2007, 20:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Сохрани ее координаты прежде чем делать скейл
я делал так на онПресс
Код:
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;
Но тут код наоборот "оставляет" точку точно в том же месте.
Думаю, разберешься как поправить для себя
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 04.09.2007 в 20:21.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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