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

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

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

Регистрация: Feb 2007
Сообщений: 563
Всем привет, я делаю "резиновый дизайн" по известному уроку http://noregret.org/tutor/elastic/ в этом уроке для правильного позиционирования мувика требуется указать параметр
Код:
Stage.align = "TL";
Но дело в том что у меня в настройках публикации для html установлены следующие параметры:
Dimensions - "Percent"
Scale - "No scale"
Flash alignment - "center","center"
При таких настройках, если размер окна браузера меньше, чем размер флэшки, то флэшка обрезается скраю без скролов и не масштабируется,
но так что каждый раз центр флэшки совпадает с центром окна браузера.
Соответственно, если указать Stage.align = "TL";
то флэшка позиционируется слева сверху.
подскажите как мне избежать проблем с позиционированием клипа и при этом позиционировать всю флэшку всегда в центре
окна браузера?
вот код в первом кадре
Код:
Stage.scaleMode = "noScale";
//Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = Stage.width;
resize_obj.normal_height = Stage.height;
resize_obj.position = [mc];
resize_obj.onResize = function() {
	var clip;
	for (var i in this.position) {
		clip = this.position[i];
		clip._x = Stage.width*clip._xRatio;
		clip._y = Stage.height*clip._yRatio;
	
	}
};

Stage.addListener(resize_obj);

var clip;
for (var i in resize_obj.position) {
	clip = resize_obj.position[i];
	clip._xRatio = clip._x/resize_obj.normal_width;
	clip._yRatio = clip._y/resize_obj.normal_height;
}

resize_obj.onResize();
вот пример как бы мне хотелось сделать http://www.ffk-schick.com/ru/ролик можно пропустить.
Или может я не так что-то делаю?
Дело в том, что перемещение происходит, но только по понятным причинам мувик позиционируется неправильно, он съезжает, из-за того что отсчет идет не из "TL" а из центра.
И к стати вопрос - почему нет параметра Stage.align = "CC", например, чтоб выравнивать по центру? Или я путаю понятия позиции в html и Stage?


Последний раз редактировалось AlexDesinger; 16.07.2008 в 10:58.
Старый 16.07.2008, 13:13
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 2  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
Stage.align = "CC"
О боже. Параметра "C" нет потому, что по умолчанию содержимое позиционируется по центру. Stage.align="" - это ваше "CC".

И да, если вам нужно содержание всей флешки позиционировать по центру, ставьте Stage.align="" и переделывайте резину под позиционирование по центру. Смещение координат пересчитывайте и все такое.

И не ленитесь лишний раз подумать. У вас обязательно получится.

Старый 16.07.2008, 13:59
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 3  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
О боже. Параметра "C" нет потому, что по умолчанию содержимое позиционируется по центру. Stage.align="" - это ваше "CC".
Ха, прикольно, тк это одно и то же выходит? Поскольку при неверном значении - выставляется значение по умолчанию?

А можно мааалюсииинький примерчик как мувик позиционируется по краю флэшки при таком выравнивании?

Старый 16.07.2008, 14:28
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 4  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Для позиционирования мувиков по краю флешки при таком выравнивании вам нужно знать координаты центра сцены относительно начала координат.
Или изначальная ширина и высота флешки.
Например:
Код:
x=(Stage.width-scenewidth)/2; // - по левому краю
x=(Stage.width+scenewidth)/2; // - по правому краю
scenewidth нужно задать вручную.

ПС. Это только мне кажется, что по туториалам учиться вредно?

Старый 16.07.2008, 17:55
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 5  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Вот спасибо, тебе, добрый человек, я всю голову сломал себе как это сделать, из-за того, что это чистая математика - у меня в голове это не укладывается...Сейчас мувик позиционируется как надо))))))

ПС по туторам учиться можно, но только не так как я

Старый 16.07.2008, 19:22
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 6  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Это простые вычисления в декартовой системе координат. Школьный курс и все такое.
Мне было бы сложно работать во флеше без понимания этих основ. Очень рекомендую перечитать.

Старый 17.07.2008, 01:45
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 7  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
а вот еще вопрос - как сделать смещение мувика, запомнив его прежнее положение?
Я так понял нужно узнать коэффициент - отношение положения мувика к габаритам флэшки? И потом при ресайзе смещать мувик на этот коэффициент, но никак не могу сообразить что на что делить и что с чем складывать =(
Код:
resize_obj.normal_width = 1200
clip._x = clip._xRatio*(Stage.width+resize_obj.normal_width)/2
clip._xRatio = clip._x/resize_obj.normal_width
Аааа..нет спасибо, это не то - это пропорциональное смещение)))))
то что у меня как раз и выполняется, мне бы сделать чтоб запоминались координаты и мувик смещался при ресайзе, учитывая где он находился))))


Последний раз редактировалось AlexDesinger; 17.07.2008 в 02:09.
Старый 17.07.2008, 03:04
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 8  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Не очень понятный пост,может быть принцип матрёшки?
Делаем мувик,в нем:
Код:
Stage.scaleMode = "noScale";
Stage.align = "";
Stage.addListener(this);
this.onResize = align;
,
в настройках публикации размеры в процентах,а не в пикселях,указываем.
Потом в эту флешку грузим Вашу и в координатах клипа-контейнера указываем любое смещение - ввуаля!

Старый 17.07.2008, 10:38
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 9  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
scarbo, спасибо большое, если я правильно понял, то я могу создать, скажем прелоадер со значением Stage.align = "", затем подгрузить в него основную флэшку со значением Stage.align = "TL" и заставить флэш самого конвертировать смещение слева/сверху на смещение в центре?
Если так то можно попробовать, чтоб было проще))))))))))))

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

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

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


 


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


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