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

Sinusoid 30.12.2010 20:46

растяжение ролика в браузере под любые мониторы
 
Приветствую всех. не могу найти решение, мучаюсь второй день.
Предисловие: я сделал ролик, который подстраивается под любой монитор без искажений (например как при exactFit), используя функции System.capabilities.screenResolutionX и System.capabilities.screenResolutionY. используя самонаписанную функцию initsize я помещаю в нужное место и с нужным размером объекты ролика.
Код AS1/AS2:

function initsize(o:Object, w:Number, h:Number, X:Number, Y:Number) {
        o._width = w;
        o._height = h;
        o._x = X;
        o._y = Y;
}

Теперь я подцепляю этот ролик в браузер, соответственно из-за меню браузера, мне надо поменять System.capabilities.screenResolutionX и System.capabilities.screenResolutionY на другие цифры, отвечающие за ширину и высоту ролика. поэтому я использую метод flashvars яваскрипта.

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>сайт</title>
<script type="text/javascript" language="javascript" src="scripts/swfobject.js"></script>
<style type="text/css">
html{
        height:100%;
}
body{
        width:100%;
        height:100%;
        overflow:hidden;
        margin:0;
        padding:0;
        background-color:#000000;
        font-family:Arial, Helvetica, sans-serif;
        color:#fff;
}
#flash{
        margin:0 auto;
        padding:0;
}
</style>
</head>
<body>
<div id="flash"><p align="center"><br />
      This content requires Adobe Flash Player 8</p>
    <p align="center"><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&amp;promoid=BIOW" target="_blank">Download Adobe Flash</a></p>
    </div>
        <script type="text/javascript" language="javascript">
        var so = new SWFObject("main2.swf", "mymovie", "100%", "100%", "8");
var ResolutionX=screen.availWidth;
var ResolutionY=screen.availHeight;

            so.addParam("menu", "false");


so.addVariable("ww", ResolutionX);
so.addVariable("hh", ResolutionY);



    </script>
</body>
        <script type="text/javascript" language="javascript">
            so.write("flash");
</script>
</html>

Собственно, в ролике я заменяю размеры экрана на эти две переменные
Код:

ww и hh
Ничего не получается, ролик не влазит, а точнее его нижняя часть.
Пытаясь добиться результата манипулировал
Код:

Stage.scaleMode =
что-то и
Код:

so.addParam("scale", "что-то");
, но ничего не помогло.

Мое предположение: ролик сначала подгружается с исходными размерами, а потом, уже загрузившись, получает
Код:

ww и hh
, но уже поздно

Народ, помогите.

В ролике использовал
Код AS1/AS2:

Stage.align = "TL";


rainbowrussia 30.12.2010 23:27

Stage.width и Stage.height спасут вас. И onResize заодно.

Sinusoid 31.12.2010 14:20

а можно поподробнее? я пытался что-то сделать, используя указанные функции, но результата не добился

udaaff 31.12.2010 14:23

http://flash-mx.ru/help/Help/ActionS.../00001695.html


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

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