Просмотр полной версии : Резиновый флеш? (не всегда срабатывает)
Когда обноляешь или идешь по закладке на сайте, резинка не отображается корректно, при повторном обновление (иногда многократном) обновлении - все встает на свои места. Есть ли способ оптимизации или такой вот он - резиновый?
Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = 1400;
resize_obj.normal_height = 75;
resize_obj.position = [help, users, foto, rules];
onLoadInit=resize_obj.onResize;
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;
};
Чуть не забыл, как сделать, что бы фон (картинка) тоже менял свои пропорции?
Вот нашел добавил, но проблема не решилась:
onLoadInit=resize_obj.onResize;
Ну для начала вы пытаетесь создать ссылку на метод, который ещё не описан. Во-вторых, мне непонятно, зачем вам onLoadInit, если это событие вообще от MovieClipLoader и тут оно вообще не нужно.
Нужно добавить в конец:
resize_obj.onResize();
и все. Строку с onLoadInit стереть.
Огромное спасибо!
Вот еще возникла проблемка:
if(help.hitTest(users)){
help._x--;
users._x++;
}
Не срабатывает? Может надо что бы help и users были MC? У меня кнопки?
"Может надо что бы help и users были MC?" - не обязательно
может просто это надо в onEnterFrame
может ошибка в областях видимости
может ошибка в Instance Name
"может ошибка в Instance Name" - ошибки нет
"может ошибка в областях видимости" - ошибки нет
"может просто это надо в onEnterFrame" - может, ща попробую
Вот тоже не работает.
_root.onEnterFrame=function(){
if(help.hitTest(users)){
_root.help._x--;
_root.users._x++;
}
}
И как проявляется нерабочесть? Я только что написал то, что в 6 посте, все работает...
А что выдает trace на help._x users._x и hitTest?
Это выходит за рамки темы, но ладно, закрою глаза.
2 CorC:
Мдя это я что-то сплоховал) я хотел, что бы они,как бы друг от друга всегда были на расстоянии скажем в 40рх. Вот как с этим быть?
2 __etc:
Спасибо))))
В трейсе:undefined, причем даже если наложить друг на друга изначально.
" они,как бы друг от друга всегда были на расстоянии скажем в 40рх"
Что мешает держать их на рассотянии скажем по формуле окружности?
Можно либо от центров отталкиваться, либо просто от _х _у
Добавил интервал, но не получается сделать что бы проверял при изменении разрешения и отодвигал друг от друга, помогите разобраться.
resize_obj.onResize = function()
{
var num:Number=0;
var int1 = setInterval(inter = function ():Void{
num++;
if (num==1){
clearInterval(int1);
delete int1;
delete num;
if(help.hitTest(users)){
help._x++;
users._x--;
};
trace(help.hitTest(users));
}
},2000);
var clip;
for (var i in this.position) {
clip = this.position[i];
clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;
}
};
Это такая новая фишка Апа, удалять последнее сообщение и потом его заново писать?
А что хоть происходит? Хиттест вижу, что trace выдает?
Это другое сообщение, в том много ошибок было.
происходит следущее: при изменении разрешения в трейсе до совпадения false после столкновения true, но действий == и -- не происходит, видимо, из-за того, что также выполняется позиционирование:
var clip;
for (var i in this.position) {
clip = this.position[i];
clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;
}
};
Киньте уже исходник упрощенный, зачем пальцем в небо тыкать?
Так?
var int1 = setInterval(function ():Void {
if (help.hitTest(users)) {
help._x--;
users._x++;
} else {
clearInterval(int1);
}
}, 100);
Да задумка была такая.
Спасибо огромное!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.