Расчет оптимального размера встраивания на основе известных ширины и высоты? - PullRequest
0 голосов
/ 06 ноября 2010

Я пытаюсь создать кнопку «Сетчатые сплайны» для моего игрового сайта.

Функция которого - изменить размер встраивания игры, чтобы оптимально заполнить окно, в котором я играю.

Пока у меня есть несколько примеров, которые работают правильно:

Кажется, что суши-кошка и Squirrelfall работают правильно.

К сожалению, при работе над TimEmu

размер игры слишком велик, чтобы уместиться в окно.

Функция, которая делает это, - это jQuery с небольшим количеством PHP:

function game_resize(orig) {
    dH = <?= $r['height'] ?>; 
    dW = <?= $r['width']  ?>;
    maxH = $(window).height();
    maxW = $(window).width();

    nR = (maxH - 80) / dH;

    if (orig) {
        $('#gamebed').width(dW);
        $('#gamebed').height(dH);
    } else {
        $('#gamebed').width(dW * nR );
        $('#gamebed').height(dH * nR);
    }
}

Я просто не могу обернуть голову вокруг правильных проверок, чтобы гарантировать, что игровое пространство div заполняет экран, не переворачиваясь.Я должен что-то сделать с соотношением сторон.

Может быть, мне нужно немного отойти от клавиатуры и вернуться к ней (иногда эта штука приходит к вам сразу после перерыва).

Может кто-нибудь просто "увидеть" ответ на этот вопрос?Я уверен, что это очевидно.

1 Ответ

0 голосов
/ 06 ноября 2010

Если вы можете принять решение на основе флэш-памяти, вы можете установить scaleMode для рабочей области на SHOW_ALL

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Stage.html#scaleMode

и масштабировать устройство для внедрения на всю площадь.Flash автоматически добавит искомые границы.Это, конечно, потребует от вас возможности настроить встроенный SWF.

...