Показать сообщение отдельно
Старый 09.09.2008, 23:26
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 16  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну давайте помозгуем)) Итак, на рисунке зеленый прямоугольник - Ваша карта, клип. Его координаты - точка А(х, у). После клика в точку В(х0, у0) карта увеличилась до серого прямоугольника, его координаты остались те же, но наша точка В уехала вообще из поля видимости
Чтобы вернуть беглянку на место, нам надо сместить серый клип в точку А2(х2, у2). Вот эти х2 и у2 нам и надо узнать. Сложно? Давайте попробуем.
Допустим, мы увеличивали при клике в scaler раз. Значит отрезок х_х0 тоже увеличился в scaler раз, и стал отрезком х2_х0. Мы можем узнать его длину: (x0-x)*scaler (x0 это _xmouse в момент клика, а х - координата клипа в момент клика). Ну чтож, теперь осталось только вычесть эту длину из х-координаты точки клика: x2 = x0 - (x0-x)*scaler
Вроде несложно.... Для у сами сделаете?
Изображения
 
__________________
Reality.getBounds(this);