Форум 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=178990)

Daley 03.05.2012 19:04

Резиновый баннер - все облазил - ничего не получается
 
Не могу понять как делать резиновый баннер - задолбался с туториалами для ГЕНИЕВ, вот зачем туториал для продвинутых пользователей? Туториал и подрузамевает то что объясняют все по полочкам ДЛЯ ТУПЫХ, а тут - что не помощь - то какие-то абстрактные фразы о кодинге...
Объясните по пунктам как сделать так, что бы какой-то объект (муви-клип) стоял по центру а фон растягивался...
Спасибо!
Делал попытку сделать растягивающийся фон - нарисовал муви-клип и в пустом кадре написал код:
Код AS1/AS2:

Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = 100;
resize_obj.normal_height = 100;
resize_obj.position = [fon];
resize_obj.onResize = function()
{
          _root.TF1.text = "текущие габариты ролика: ";
                _root.TF1.text += Stage.width+"x";
                _root.TF1.text += Stage.height;
              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.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;
}
fon._widthRatio = fon._width/resize_obj.normal_width;
fon._heightRatio = fon._height/resize_obj.normal_height;
resize_obj.onResize();

Ну не работает - ЗАРАЗА...
Извините за эмоции - помогите, если можете.

Добавлено через 16 часов 56 минут
Есть тут гении?

vivado 05.05.2012 14:29

А в HTML у тебя
в <param name="scale" value="-----" />
что стоит случаем не noscale? )))

mooncar 05.05.2012 14:51

См. мой пост из темы в соседней ветке. Возможно наведет на решение - если взять вместо мувика с горизонтальным бордюром мувик с фоном.
На самом деле вариантов решения много - зависит от того, какой именно фон, как он должен растягиваться, какие и сколько мувиков должны оставаться на своих местах.

vivado 05.05.2012 15:06

Вот накидал на скорую руку, вроде должно работать

Код AS1/AS2:

Stage.scaleMode = "NoScale";
Stage.align = "TL";
 
this.onEnterFrame = function(){
        fon._x=0;
        fon._y=0;
        fon._xscale=Stage.width;
        fon._yscale=Stage.height;
 
        clip._x=Stage.width/2;
        clip._y=Stage.height/2;
}

Фон в примере будет растягиваться непропорционально, если нужно без искажений то пропиши условие
если ширина окна больше высоты
fon._xscale=fon._yscale;
и если наоборот то
fon._yscale=fon._xscale;

Daley 09.05.2012 13:11

Не выходит НИЧЕГО!!!!!
 
Вложений: 1
Замучался уже. Не понимаю, может я не там код пишу, или что-то не так делаю. Посмотрите на файл и код - что не так? Оъясните подробно! Что поправить и на что обратить внимание? Уже неделю мучаюсь!

dark256 09.05.2012 15:49

Вложений: 1
У вас вообще ВСЕ не так и не там. И клипы не подписаны в свойствах.

Есть положка - BG , над ней два текстовых блока - CenterText и RightText. Все. Исходник в CS5.5.

Код AS1/AS2:

Stage.scaleMode = "noScale";
Stage.align = "TL";
 
Stage.addListener(this);
 
 
function NsetInterface(){
 
        CenterText._x = Stage.width/2-CenterText.textWidth/2;
        RightText._x = Stage.width - RightText.textWidth-10;
        BG._width = Stage.width;
        BG._height = Stage.height;
}
this.onResize = function() { NsetInterface() }
Stage.addListener(this)
NsetInterface()


Daley 09.05.2012 17:13

В коде эти строки
Код AS1/AS2:

BG._width = Stage.width;
        BG._height = Stage.height;

Что такое BG? Где это прописывается? В библиотеке нету символа BG

dark256 09.05.2012 19:07

А исходник не открыть?
А имя Instance в properties кто прописывать будет? А.С.Пушкин?

Цитата:

задолбался с туториалами для ГЕНИЕВ, вот зачем туториал для продвинутых пользователей
Мы тут туторы не пишем. Мы подсказать можем. Тутор вам по работе с Flash IDE читать надо, весь, а потом только уже за АС браться...


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

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