Survey
24.11.2010, 09:28
День добрый.
В ролике (Move clip - qwerty) хотел элемент "приклеить" к левому краю. Пропорционально сдвинуть получается, прикрепить к левому краю нет (этого я добиваюсь смещением вычисляя через Stage.width текущую ширину минус исходная ширина). Вот код:
// настройки сцены
Stage.scaleMode = "noScale";
Stage.align = "TL";
// создадим объект для реагирования на изменение габаритов окна
var resize_obj = {};
// запомнили нормальную ширину
resize_obj.normal_width = 480;
// запомнили нормальную высоту
resize_obj.normal_height = 80;
// самое главное: список объектов, которые будем перемещать
resize_obj.position = [qwerty
];
// собственно, реакция на изменения габаритов окна
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;
// если для клипа определена пропорция по ширине
if (clip._widthRatio != undefined) {
clip._width = Stage.width*clip._widthRatio;
}
// если для клипа определена пропорция по высоте
if (clip._heightRatio != undefined) {
clip._height = Stage.height*clip._heightRatio;
}
}
};
// связь между классом Stage и объектом resize_obj
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._xRatio = Stage.width - resize_obj.normal_width; //А вот смещение работать не хочет
// пропорция по вертикали
clip._yRatio = clip._y/resize_obj.normal_height;
}
/* запоминаем пропорции высоты и ширины
(отношение габарита к нормальной ширине/высоте) */
//qwerty._widthRatio = qwerty._width/resize_obj.normal_width;
//qwerty._heightRatio = qwerty._height/resize_obj.normal_height;
resize_obj.onResize();
Можете ткнуть где у меня не верно?
Добавлено через 3 минуты
Упс. к правому краю ролика хотелось "приклеить" Move clip - qwerty
Добавлено через 1 час 20 минут
Нашёл ошибку:
clip._x = Stage.width-resize_obj.normal_width+380;
// было clip._xRatio;clip._x = Stage.width*clip._xRatio;
// resize_obj.normal_width - ширина в нормальном виде
//380 - смещение при нормальном виде
В ролике (Move clip - qwerty) хотел элемент "приклеить" к левому краю. Пропорционально сдвинуть получается, прикрепить к левому краю нет (этого я добиваюсь смещением вычисляя через Stage.width текущую ширину минус исходная ширина). Вот код:
// настройки сцены
Stage.scaleMode = "noScale";
Stage.align = "TL";
// создадим объект для реагирования на изменение габаритов окна
var resize_obj = {};
// запомнили нормальную ширину
resize_obj.normal_width = 480;
// запомнили нормальную высоту
resize_obj.normal_height = 80;
// самое главное: список объектов, которые будем перемещать
resize_obj.position = [qwerty
];
// собственно, реакция на изменения габаритов окна
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;
// если для клипа определена пропорция по ширине
if (clip._widthRatio != undefined) {
clip._width = Stage.width*clip._widthRatio;
}
// если для клипа определена пропорция по высоте
if (clip._heightRatio != undefined) {
clip._height = Stage.height*clip._heightRatio;
}
}
};
// связь между классом Stage и объектом resize_obj
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._xRatio = Stage.width - resize_obj.normal_width; //А вот смещение работать не хочет
// пропорция по вертикали
clip._yRatio = clip._y/resize_obj.normal_height;
}
/* запоминаем пропорции высоты и ширины
(отношение габарита к нормальной ширине/высоте) */
//qwerty._widthRatio = qwerty._width/resize_obj.normal_width;
//qwerty._heightRatio = qwerty._height/resize_obj.normal_height;
resize_obj.onResize();
Можете ткнуть где у меня не верно?
Добавлено через 3 минуты
Упс. к правому краю ролика хотелось "приклеить" Move clip - qwerty
Добавлено через 1 час 20 минут
Нашёл ошибку:
clip._x = Stage.width-resize_obj.normal_width+380;
// было clip._xRatio;clip._x = Stage.width*clip._xRatio;
// resize_obj.normal_width - ширина в нормальном виде
//380 - смещение при нормальном виде