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

serdeles 25.05.2010 18:32

Резина в резине
 
Есть резиновый флеш. Реально ли подгрузить туда резиновый мувик с фиксированной высотой, который на определённое количество пикселей сдвинут влево от верхнего левого угла сцены (в коде самой сцены уже указано позиционирование TL). Результат должен выглядеть примерно как на рисунке:

[IMG]http://s42.***********/i098/1005/90/72ff7534dfda.gif[/IMG]

dark256 25.05.2010 21:37

Такая конструкция у вас уже задействована?

Код AS1/AS2:

function setupInterface()
{       
// используем Stage.width
// используем Stage.height
}
this.onResize = function() { setupInterface() }
Stage.addListener(this)

В подгруженный через
var My_mc:MovieClipLoader = new MovieClipLoader()
по My_mc.onLoadInit - прицепляем через addListener примерно такой же обработчик onResize

serdeles 26.05.2010 16:20

Вложений: 1
Поковырялся немного в коде, получилась вот такая штука:

Код AS1/AS2:

Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};
resize_obj.normal_width = 400;
resize_obj.normal_height = 300;
resize_obj.position = [My_mc
                      ];
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.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;
}
My_mc._widthRatio = My_mc._width/resize_obj.normal_width;
 
resize_obj.onResize();

+ исходник.

Меня устраивает всё, кроме одного момента: левая часть My_mc не зафиксирована в левой половине сцены, а двигается. А я хочу, чтобы она начиналась в 400 пикселях от левого поля сцены (окна браузера). Тянуться должна лишь правая часть My_mc.

Подскажите, как это сделать.


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

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