Показать сообщение отдельно
Старый 18.05.2006, 11:42
kurt84 вне форума Посмотреть профиль Отправить личное сообщение для kurt84 Найти все сообщения от kurt84
  № 5  
Ответить с цитированием
kurt84

Регистрация: May 2006
Сообщений: 2
Вот вариант. работает гораздо быстрее. И главное - работает

Код:
function zoomIn(z){
	if(_root.mapf._width<1500){ //максимальный размер
			_width+=z*(20); //приращение
			_height+=z*(20);
		}
}
function zoomOut(z){
	if(_root.mapf._width>480){
			_root.mapf._width-=z*(20);
			_root.mapf._height-=z*(20);
			if(_root.mapf._width<480) _root.mapf._width=480; //минимальный размер карты
			if(_root.mapf._height<480) _root.mapf._height=480;
			
			var xneed=_root.mapf._width+_root.mapf._x, //если сместилась не так как надо - поправляем.
				yneed=_root.mapf._height+_root.mapf._y;
		
			if(xneed<480) _root.mapf._x+=480-xneed;
			if(yneed<480) _root.mapf._y+=480-yneed;
		}
}

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
    if(delta>0) zoomIn(1);
    else zoomOut(1);
}
Mouse.addListener(mouseListener);