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

Andreih 05.10.2006 19:00

Остановить разтяжку флеша
 
Привет. Делаю тянущийся флеш, все хорошо тянется но вот проблема при уменьшении окна до минимума он все продолжает тянутся. как сделать так чтобы флеш проверял размер окна приего уменьшении или увеличении? призагрузке проверяет, а дальше никак.

Код:

Stage.scaleMode = "noScale";
Stage.align = "TL";

// бэкграунд
stonebg._height = Stage.height;

if (Stage.width > 1000){
var resize_obj = {};
// запомнили нормальную ширину
resize_obj.normal_width = 1000;

// запомнили нормальную высоту
resize_obj.normal_height = 700;

// список объектов перемещения
resize_obj.position = [logo, linem,linem2, pt1, pt2, pt3, pt4];
// реакция на изменения габаритов окна
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 и объектом resize_obj
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;
}

/* запоминаем пропорции высоты и ширины
(отношение габарита к нормальной ширине/высоте) */
linem._widthRatio = linem._width/resize_obj.normal_width;
linem2._widthRatio = linem2._width/resize_obj.normal_width;

resize_obj.onResize();
}
if (Stage.width < 1000)
{gotoAndStop(2);}


etc 05.10.2006 19:14

Код:

resize_obj.onResize = function()
{  var clip;
    for (var i in this.position) {
        // перебираем все клипы в списке
        clip = this.position[i];
        var w = Stage.width;
        var h = Stage.height;
        w = (w < 1000) ? 1000 : w;
        h = (h < 500) ? 500 : h;
        // восстанавливаем пропорции для каждого клипа
        clip._x = w*clip._xRatio;
        clip._y = h*clip._yRatio;
          if (clip._widthRatio != undefined) {
      clip._width = w*clip._widthRatio;}
          if (clip._heightRatio != undefined) {
      clip._height = h*clip._heightRatio;}
}

А вообще, можно заюзать StageManager, у которого есть свойства MIN_WIDTH, MIN_HEIGHT, MAX_WIDTH, MAX_HEIGHT.

Andreih 06.10.2006 11:24

Спасибо все заработало


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

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