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

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

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

Регистрация: Sep 2009
Сообщений: 90
По умолчанию Увеличение загруженных фоток

В общем пытаюсь сделать зум для фоток в LoadInit

Код AS1/AS2:
myListener.onLoadInit = function(target_mc:MovieClip) {
w = target_mc._width; //натуральная ширина картинки
h = target_mc._height;//натуральная высота
var v;
if ((target_mc._height/target_mc._width)>(_parent.maska._height/_parent.maska._width)) {
target_mc._height = _parent.maska._height;
target_mc._width = target_mc._width*_parent.maska._height/h; v = 1;
if (h < _parent.maska._height){v = 3;}
}
if ((target_mc._height/target_mc._width)<(_parent.maska._height/_parent.maska._width)) {
target_mc._width = _parent.maska._width;
target_mc._height = target_mc._height*_parent.maska._width/w; v= 2;
if (w < _parent.maska._width){v = 3;}
}
var ww = target_mc._width;//ширина картинки для выравнивания под окно просмотра
var hh = target_mc._height;//высота картинки для выравнивания под окно просмотра
target_mc._x = Math.round((_parent.maska._width/2)-(target_mc._width/2));
target_mc._y = Math.round((_parent.maska._height/2)-(target_mc._height/2));
	if(v==1){
		_parent.zoom_in.onRelease = function(){
	if((target_mc._width * _root.zoom_*1.1) < w){target_mc._width = target_mc._width * _root.zoom_; target_mc._height = target_mc._height * _root.zoom_;}
	else{target_mc._width = w; target_mc._height = h;}
	target_mc._x = Math.round((_parent.maska._width/2)-(target_mc._width/2));
target_mc._y = Math.round((_parent.maska._height/2)-(target_mc._height/2));
};
		_parent.zoom_out.onRelease = function(){
	if((0.9 * target_mc._width / _root.zoom_) > target_mc.ww){target_mc._width = target_mc._width / _root.zoom_; target_mc._height = target_mc._height / _root.zoom_;}
	else{target_mc._width = ww; target_mc._height = hh;}
	target_mc._x = Math.round((_parent.maska._width/2)-(target_mc._width/2));
target_mc._y = Math.round((_parent.maska._height/2)-(target_mc._height/2));
	};
	}
	if(v==2){
		_parent.zoom_in.onRelease = function(){
	if((target_mc._height * _root.zoom_*1.1) < h){target_mc._width = target_mc._width * _root.zoom_; target_mc._height = target_mc._height * _root.zoom_;}
	else{target_mc._width = w; target_mc._height = h;}
	target_mc._x = Math.round((_parent.maska._width/2)-(target_mc._width/2));
target_mc._y = Math.round((_parent.maska._height/2)-(target_mc._height/2));
	};
		_parent.zoom_out.onRelease = function(){
	if((0.9 * target_mc._height / _root.zoom_) > hh){target_mc._width = target_mc._width / _root.zoom_; target_mc._height = target_mc._height / _root.zoom_;}
	else{target_mc._width = ww; target_mc._height = hh;}
	target_mc._x = Math.round((_parent.maska._width/2)-(target_mc._width/2));
target_mc._y = Math.round((_parent.maska._height/2)-(target_mc._height/2));
	};
	}
	if(v==3){}
};
обнаружил странную закономерность - если все фотки только увеличивать (zoom_in.onRelease), все работает, а если фотку уменьшать, то при увеличении следующей она уменьшается. И наоборот, на уменьшение - увеличивается!

trace обнаружил, что нажатия кнопок фиксируются правильно, а вот принадлежность фотки к одной из трех категорий(вытянутая по горизонтали, вертикали или слишком маленькая, что бы ее увеличивать - нет!)


Последний раз редактировалось StepanR; 03.09.2009 в 18:25. Причина: плохой заголовок
Создать новую тему   Часовой пояс GMT +4, время: 20:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
onLoadInit , зум

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

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


 


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


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