PDA

Просмотр полной версии : Проблема с позиционированием


DrugON
26.01.2009, 01:49
Столкнулся с проблемкой...
клип размещен в центре и как бы я не двигал браузер он остается в центре

var myListener = new Object();
myListener.onResize = function()
{
arrangeLayout();
};
Stage.addListener(myListener);

function arrangeLayout()
{
logo._x = Stage.width/2;
logo._y = Stage.height/2;
}

После того как я клип перемещаю в любое другое место и опять изменяю размеры экрана он стремиться на старую позицию.
А как сделать, что бы позиционирование уже было на новом месте?
Спасибо!

nOobCrafter
27.01.2009, 17:11
По идее надо использовать коэфициент, то есть
logo._x = logo._x * stage_koef;
где stage_koef отношение предыдущего размера сцены к текущему %)...мне это так видится..может есть вариант попроще то интересно его увидеть.

DrugON
28.01.2009, 16:32
Либо я вас не понял, либо вы меня не поняли. Размер сцены у меня один и тот же. А вот позиция объекта меняется. В начале объект остается как надо в центре и при растягивании все ОК, а когда его перемещаешь на другое место, он при растягивание флэшки дергается.
Посмотрите плиз код.

Psycho Tiger
28.01.2009, 22:55
Stage.noScale
UPD: упс, то ас3, а для ас2 scaleMode = “noScale”

DrugON
29.01.2009, 00:20
У меня так и есть. Я в ас2 пишу.
Stage.scaleMode = "noScale";
Stage.align = "TL";
setProperty("", _quality, "BEST");
Проблема все также не решена.

etc
29.01.2009, 02:12
setProperty — это даже не ActionScript 1.0, это скорее ActionScript 0.3. С чего вы взяли, что пишете на AS2?

DrugON
29.01.2009, 02:25
ай-я-яй...
-что? в этом беда?
-нет!
-а в чем?
По вопросу можно что-нить мне посоветовать?

gloomyBrain
29.01.2009, 02:55
function arrangeLayout()
{
logo._x = Stage.width/2;
logo._y = Stage.height/2;
}
Данная функция рывком перемещает объект в центр экрана
Почему-то мне кажется, что Вам это известно
Измените эту функцию - пусть перемещает объект в другое место

DrugON
29.01.2009, 03:17
да, но у меня другая функция перемещает его.
как быть?
мне нужно чтобы logo был в центре, а когда другая функция перемещало logo, он оставался на другом месте.

kruasan
29.01.2009, 03:18
А как сделать, что бы позиционирование уже было на новом месте?
Stage.removeListener(myListener);

DrugON
29.01.2009, 03:53
но тогда ролик перестает быть резиновым...
т.е. с новыми координатами он уже не растягивается
нужно тогда новый Listener создавать?

gloomyBrain
29.01.2009, 04:02
Нужно подумать

DrugON
29.01.2009, 04:41
добавил новый листнер...
теперь все работает, не знаю насколько это правильно, но цели я достиг...
большое спасибо kruasan, я уже думал над созданием двух листнеров, но работал все время один, а про Stage.removeListener(myListener); я и забыл совсем...
Спасибо всем!