Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Резиновый флеш? (не всегда срабатывает) (http://www.flasher.ru/forum/showthread.php?t=94595)

repz 16.04.2007 14:20

Резиновый флеш? (не всегда срабатывает)
 
Когда обноляешь или идешь по закладке на сайте, резинка не отображается корректно, при повторном обновление (иногда многократном) обновлении - все встает на свои места. Есть ли способ оптимизации или такой вот он - резиновый?
Код:

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;

etc 16.04.2007 15:16

Ну для начала вы пытаетесь создать ссылку на метод, который ещё не описан. Во-вторых, мне непонятно, зачем вам onLoadInit, если это событие вообще от MovieClipLoader и тут оно вообще не нужно.
Нужно добавить в конец:
Код:

resize_obj.onResize();
и все. Строку с onLoadInit стереть.

repz 16.04.2007 16:17

Огромное спасибо!
Вот еще возникла проблемка:
Код:

if(help.hitTest(users)){
                        help._x--;
                        users._x++;
}

Не срабатывает? Может надо что бы help и users были MC? У меня кнопки?

CorC 16.04.2007 16:22

"Может надо что бы help и users были MC?" - не обязательно

может просто это надо в onEnterFrame
может ошибка в областях видимости
может ошибка в Instance Name

repz 16.04.2007 16:31

"может ошибка в Instance Name" - ошибки нет
"может ошибка в областях видимости" - ошибки нет
"может просто это надо в onEnterFrame" - может, ща попробую

Вот тоже не работает.
Код:

_root.onEnterFrame=function(){
 if(help.hitTest(users)){
                        _root.help._x--;
                        _root.users._x++;
                }
 }


CorC 16.04.2007 16:47

И как проявляется нерабочесть? Я только что написал то, что в 6 посте, все работает...
А что выдает trace на help._x users._x и hitTest?

etc 16.04.2007 16:54

Это выходит за рамки темы, но ладно, закрою глаза.

repz 16.04.2007 16:59

2 CorC:
Мдя это я что-то сплоховал) я хотел, что бы они,как бы друг от друга всегда были на расстоянии скажем в 40рх. Вот как с этим быть?

2 __etc:
Спасибо))))

В трейсе:undefined, причем даже если наложить друг на друга изначально.

CorC 16.04.2007 17:02

" они,как бы друг от друга всегда были на расстоянии скажем в 40рх"
Что мешает держать их на рассотянии скажем по формуле окружности?
Можно либо от центров отталкиваться, либо просто от _х _у

repz 17.04.2007 12:28

Добавил интервал, но не получается сделать что бы проверял при изменении разрешения и отодвигал друг от друга, помогите разобраться.
Код:

  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;
    }
       
};



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

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