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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2009, 23:01
Yami вне форума Посмотреть профиль Отправить личное сообщение для Yami Найти все сообщения от Yami
  № 1  
Ответить с цитированием
Yami
 
Аватар для Yami

Регистрация: Jul 2009
Сообщений: 22
По умолчанию Zoom относительно курсора мыши

Здравствуйте! Есть такое дело:
Есть мувик (изображение), которое можно масштабировать (приближать/отдалять) при помощи скролла. Сперва была проблема с тем, что масштабировалось относительно левого-верхнего угла. Заморачиваться с точкой трансформации очень не хотелось и решил вопрос таким способом:
Код AS1/AS2:
mouseListener.onMouseWheel = function (delta)
{
	var oldx:Number;
	var oldy:Number;
	var dx:Number;
	var dy:Number;
	oldx = _root["layer0"]._xmouse;
	oldy = _root["layer0"]._ymouse;
	_root["layer0"]._xscale = _root["layer0"]._xscale + delta;
	_root["layer0"]._yscale = _root["layer0"]._yscale + delta;
	xm = _root["layer0"]._xmouse;
	ym = _root["layer0"]._ymouse;
	dx = xm - oldx;
	dy = ym - oldy; 
	_root["layer0"]._x = _root["layer0"]._x + dx;
	_root["layer0"]._y = _root["layer0"]._y + dy;		
};
При первых шагах вроде все нормально но потом появляются погрешности, потом появляются огромные погрешности, потом - колоссальные и в итоге... лучше не видеть, что происходит...
Уже и пытался окрыгления вводить при получении координат мыши (никак не могу понять КАК они могут быть ДРОБНЫМИ? О_О)..
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка.
P.S. А у меня их минимум две.

Старый 06.10.2009, 14:52
Bitcoolman вне форума Посмотреть профиль Отправить личное сообщение для Bitcoolman Найти все сообщения от Bitcoolman
  № 2  
Ответить с цитированием
Bitcoolman

Регистрация: Sep 2009
Адрес: Челябинск
Сообщений: 43
в процентах попробуй... от высоты и ширины

Старый 06.11.2009, 17:46
ere вне форума Посмотреть профиль Отправить личное сообщение для ere Найти все сообщения от ere
  № 3  
Ответить с цитированием
ere

Регистрация: Nov 2009
Сообщений: 3
Я в принципе нашёл решение, масштабирует строго по положению мышки скролом но при загрузке флешки прелоадером зум не работает, было бы интересно может кто подскажет решение масштабирования после загрузки флешки прелоадером
Код AS1/AS2:
	function onLoad(){
		Mouse.addListener(this);	
	}
	 function onMouseWheel (delta:Number, scrollTarget:String) {
		this._x = this._x-5*this._xmouse*delta/100;
		this._y = this._y-5*this._ymouse*delta/100;		
 
		this._xscale = this._xscale+5*delta;
		this._yscale = this._yscale+5*delta;		
	}
hihka.onPress = function() {
	_root.hihka.startDrag(false);
};
hihka.onRelease = function() {
	_root.hihka.stopDrag();
};
Вложения
Тип файла: rar zoom+перетаскивание.rar (203.1 Кб, 89 просмотров)

Старый 02.12.2009, 15:55
pavel gorlov вне форума Посмотреть профиль Отправить личное сообщение для pavel gorlov Найти все сообщения от pavel gorlov
  № 4  
Ответить с цитированием
pavel gorlov

Регистрация: Jan 2007
Сообщений: 13
Я уже это спрашивал Тут. Ответ в предпоследнем сообщении.

Старый 02.12.2009, 17:16
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 5  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Автору это уже неакутально

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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