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

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

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

Регистрация: Feb 2007
Сообщений: 563
По умолчанию резиновый дизайн - позиционирование от центра

Народ, помогите плиз, я пытаюсь выполнить урок на тему "резиновый дизайн", но не могу сделать чтобы все расчеты производились от центра флэшки, а не от верхнего правого угла ((((

Код:
Stage.scaleMode = "noScale";
Stage.align = "";

var resize_obj = {};
resize_obj.normal_width = 1920;
resize_obj.normal_height = 1200;
resize_obj.position = [square];

resize_obj.onResize = function() {
	var clip;
	for (var i in this.position) {
		clip = this.position[i];
		clip._x = ((Stage.width+resize_obj.normal_width)/2)*clip._xRatio;
		clip._y = ((Stage.height+resize_obj.normal_height)/2)*clip._yRatio;
		trace(clip._x);
		trace(Stage.width);
	}
};
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();
При начальном позиционировании клип встает правильно, но при резсайзе немного съезжает, я уже перепробовал много вариантов, пытаясь задать правильную формулу просчета, но не могу сообразить как правильно.

Старый 10.09.2008, 23:25
MANN вне форума Посмотреть профиль Отправить личное сообщение для MANN Найти все сообщения от MANN
  № 2  
Ответить с цитированием
MANN
 
Аватар для MANN

Регистрация: Jul 2008
Адрес: USofA
Сообщений: 42
может поможет если сделать вот так
Код:
Stage.align = "TL";
?


Последний раз редактировалось MANN; 10.09.2008 в 23:28.
Старый 10.09.2008, 23:26
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 3  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
в вашем коде Stage.align = "";
это означает, что центр флэшки отображается в центре окна плеера
Однако, при просмотре в браузере это не всегда так
Популярное решение: задать Stage.align = "tl", после чего в онРесайзе определять Stage.width и Stage.height и работать с полученными значениями

UPD:
mann... =)
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 10.09.2008 в 23:30.
Старый 10.09.2008, 23:36
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 4  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
в вашем коде Stage.align = "";
это означает, что центр флэшки отображается в центре окна плеера
Однако, при просмотре в браузере это не всегда так
Популярное решение: задать Stage.align = "tl", после чего в онРесайзе определять Stage.width и Stage.height и работать с полученными значениями
Вся загвоздка в том что мне нужно как раз чтобы центр флэшки был в центре окна браузера и не скейлился, для того, чтобы центр бэкграунда флэшки всегда был в центре сжатого со всех сторон окна.
А остальные клипы должны передвинуться в соответствии с новым размером окна.
Бэк позиционируется отлично - при любых сжатиях с любой стороны - он всегда в центре, ну а вот клипы съезжают и при сильном сжатии окна, вообще уезжают за пределы окна браузера.
Поблемма скорее всего с clip._xRatio, потому что это коэффициент сдвига клипа, но вот его-то я и не могу вычислить точно.


Последний раз редактировалось AlexDesinger; 10.09.2008 в 23:40.
Старый 10.09.2008, 23:52
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 5  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
я бы на Вашем месте не мучился:
просто создайте мувик с фоном
просто положите его на самый нижний слой (програмно добавив к сцене)
просто действуйте как с остальными мувиками - через _xRatio

Правда ведь просто? =))

Сам этим занимался - Stage.align="" - очень странная тема...(для браузеров)

UPD
По поводу коэффициента сдвига - а что не получается?
Взяли мувик, приаттачили из библиотеки, задали координаты, эти координаты поделили на Stage.width и Stage.height соответственно. Задали новое свойство xRatio и yRatio. Далее свойства считываются при ресайзе, мувик перемещается.
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 10.09.2008 в 23:56.
Старый 11.09.2008, 00:01
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 6  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
да я так уже попробовал но это не то что мне нужно - дело в том что back не должен скейлиться, потому как растровый, иначе будут видны пикселы, а если не делать скейл, то при малом размере мы видим не центр его, а верхний левый угол.
можно конечно сделать так....
Код:
clip._x = ((Stage.width+resize_obj.normal_width)/2)-(clip._width);
		clip._y = ((Stage.height+resize_obj.normal_height)/2)-(clip._height);
для того, чтобы спозиционировать клип и он всегда будет справа снизу, а бэк в центре, но тогда придется для всех клипов в сцене задать начальные координаты вручную.
Или можно все клипы попробовать запихнуть в один и его то спозиционировать от центра....хм

Старый 11.09.2008, 00:47
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
вот
ковыряйтесь =)
Вложения
Тип файла: zip Новая сжатая ZIP-папка.zip (150.3 Кб, 238 просмотров)
__________________
...вселенская грусть

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

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

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


 


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


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