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

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

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

Регистрация: Aug 2005
Сообщений: 48
Отправить сообщение для Chilly с помощью ICQ
Thumbs up Если кому интересно, как сделать Zoom c центрированием

Я тут на форуме много тем поэтому поводу делал, но никто не знал как такое сделать. Я имею ввиду в ScrollPane. Я сделал сам. Если кому интересно, вот код:
Код:
myScrollPane.content._xscale = 100;
myScrollPane.content._yscale = 100;
var Const_Koef = 2;
var koef = 1;
var siz = 100;
var PicCentX = myScrollPane.width/2;
var PicCentY = myScrollPane.height/2;
var TmpScrollh = 0;
var TmpScrollv = 0;
var MousePosX = 0;
var MousePosY = 0;
var ContW = myScrollPane.content.width;
var ContH = myScrollPane.content.height;
myScrollPane.vPosition = 0;
myScrollPane.hPosition = 0;
but_inc.onRelease = function() {
	koef = Const_Koef;
};
but_dec.onRelease = function() {
	koef = 1/Const_Koef;
};
but_res.onRelease = function() {
	koef = 1;
};
Delta = function () {
	dx = MousePosX+TmpScrollh;
	dy = MousePosY+TmpScrollv;
	ShP = dx/ContW;
	SvP = dy/ContH;
	if (ShP<0) {
		ShP = 0;
	}
	if (SvP<0) {
		SvP = 0;
	}
	ShP = ShP*myScrollPane.content.width-PicCentX;
	SvP = SvP*myScrollPane.content.height-PicCentY;
	myScrollPane.onComplete();
	if (ShP>myScrollPane.maxHPosition) {
		ShP = myScrollPane.maxHPosition;
	}
	if (SvP>myScrollPane.maxVPosition) {
		SvP = myScrollPane.maxVPosition;
	}
	myScrollPane.hPosition = ShP;
	myScrollPane.vPosition = SvP;
};
_root.myScrollPane.spContentHolder.onRelease = function() {
	repaint();
};
function repaint() {
	if (!((siz == 100 and koef == 0.5) or (siz >> 2000))) {
		siz *= koef;
	}
	TmpScrollh = myScrollPane.hPosition;
	TmpScrollv = myScrollPane.vPosition;
	MousePosX = myScrollPane._xmouse;
	MousePosY = myScrollPane._ymouse;
	ContW = myScrollPane.content.width;
	ContH = myScrollPane.content.height;
	myScrollPane.refreshPane();
	myScrollPane.content._xscale = siz;
	myScrollPane.content._yscale = siz;
	Delta();
	myScrollPane.spContentHolder.onRelease = function() {
		repaint();
	};
}

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

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

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


 


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


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