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

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

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

Регистрация: Feb 2008
Сообщений: 560
Цитата:
Сообщение от mtbio Посмотреть сообщение
Лишнее пускай отрезается. Думаю не будет больших проблем, что бы сюжетно подготовить картинку под обрезание, то есть оставить главных героев воронов, а остальное пускай режиться.
Посмотрите вложение.

upd. Еще добавьте

Код AS1/AS2:
mcImg.forceSmoothing = true;
где-нибудь.
Вложения
Тип файла: rar rav.rar (143.2 Кб, 57 просмотров)


Последний раз редактировалось rainbowrussia; 04.06.2010 в 23:53.
Старый 05.06.2010, 02:37
mtbio вне форума Посмотреть профиль Отправить личное сообщение для mtbio Найти все сообщения от mtbio
  № 12  
Ответить с цитированием
mtbio

Регистрация: Sep 2009
Сообщений: 45
Просто супер!!! Спасибо за потраченное на меня время, я ваш должник.
У меня огромная просьба, если вас не затруднит расписать таким образом "var w = Stage.width; // текущая ширина сцены" скрипт. Понимаю, что это за геморрой, поэтому если "нет" то без претензий. объясню, я хотел бы понять, что за чем и почему, что бы в дальнейшем этим пользоваться. Спокойно менять и понимать, что за чем.

Еще раз спасибо!

Старый 05.06.2010, 02:50
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 13  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Код AS1/AS2:
Stage.scaleMode = 'noScale'; // отключаем масштабирование содержимого
Stage.align = 'TL'; // устанавливаем "ноль" слева вверху
 
// запоминаем исходную ширину и высоту картинки
var imgw = mcImg._width;
var imgh = mcImg._height;
 
// устанавливаем принудительное сглаживание картинки
mcImg.forceSmoothing = true;
 
// создаем объект с единственным методом - onResize
var resizer:Object = new Object();
 
resizer.onResize = function () {
	var sw = Stage.width; // ширина сцены
	var sh = Stage.height; // высота сцены
 
	// позиционирование клипов
	// тут идет математики, напрямую к флешу местами не относящаяся
	if (sw/sh > imgw / imgh) { // если картинку надо будет обрезать по высоте
		mcImg._x = 0; // левый край позиционируем на ноль по горизонтали
		mcImg._width = sw; // ширину картинки вытсавляем по ширине сцены
		mcImg._height = Math.round(sw * imgh / imgw); // выставляем высоту картинки, пропорционально ее изначальным размерам (чтобы не было искажения)
		mcImg._y = Math.round((sh - mcImg._height)/2); // сдвигаем ее вверх на половину выступающей за пределы сцены части
	} else {
		// аналогичный алгоритм, если размер сцены таков, что у картинки надо обрезать левый и правй край
		mcImg._y = 0;
		mcImg._height = sh;
		mcImg._width = Math.round(sh * imgw / imgh);
		mcImg._x = Math.round((sw - mcImg._width)/2);
	}
//	mcImg._x = sx; - эти две строчки лишние, забыл их убрать
//	mcImg._y = sy;
	// позиционируем текстовые элементы
	// в принципе их можно и не трогать, если они всегда слева вверху находятся
	// и их положение не зависит от размера сцены
	mcTxt1._x = mcTxt2._x = mcTxt3._x = 10;
	mcTxt1._y = 20;
	mcTxt2._y = mcTxt1._y + 50;
	mcTxt3._y = mcTxt2._y + 50;
}
 
// вызываем один раз наш метод, чтобы выстроить элементы в соответствии с текущими размерами сцены
// очень может быть что onResize полюбому сам должен вызваться, но лишним не будет
resizer.onResize();
 
// добавляем к сцене "слушателя" событий в виде нашего объекта
Stage.addListener(resizer);


Последний раз редактировалось rainbowrussia; 05.06.2010 в 02:52.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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