![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: 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();
|
|
|||||
|
Регистрация: Jul 2008
Адрес: USofA
Сообщений: 42
|
Последний раз редактировалось MANN; 10.09.2008 в 23:28. |
|
|||||
|
в вашем коде Stage.align = "";
это означает, что центр флэшки отображается в центре окна плеера Однако, при просмотре в браузере это не всегда так Популярное решение: задать Stage.align = "tl", после чего в онРесайзе определять Stage.width и Stage.height и работать с полученными значениями UPD: mann... =)
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 10.09.2008 в 23:30. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
А остальные клипы должны передвинуться в соответствии с новым размером окна. Бэк позиционируется отлично - при любых сжатиях с любой стороны - он всегда в центре, ну а вот клипы съезжают и при сильном сжатии окна, вообще уезжают за пределы окна браузера. Поблемма скорее всего с clip._xRatio, потому что это коэффициент сдвига клипа, но вот его-то я и не могу вычислить точно. Последний раз редактировалось AlexDesinger; 10.09.2008 в 23:40. |
|
|||||
|
я бы на Вашем месте не мучился:
просто создайте мувик с фоном просто положите его на самый нижний слой (програмно добавив к сцене) просто действуйте как с остальными мувиками - через _xRatio Правда ведь просто? =)) Сам этим занимался - Stage.align="" - очень странная тема...(для браузеров) UPD По поводу коэффициента сдвига - а что не получается? Взяли мувик, приаттачили из библиотеки, задали координаты, эти координаты поделили на Stage.width и Stage.height соответственно. Задали новое свойство xRatio и yRatio. Далее свойства считываются при ресайзе, мувик перемещается.
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 10.09.2008 в 23:56. |
|
|||||
|
Регистрация: 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); Или можно все клипы попробовать запихнуть в один и его то спозиционировать от центра....хм |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|