2 мувиклипа, которые не воспроизводятся одновременно, расположены в одном кадре, вложенном в мувиклип as3 - PullRequest
0 голосов
/ 30 января 2012

У меня есть два мувиклипа в одном кадре, но в разных слоях, расположенных в мувиклипе. Первый мувиклип играет просто отлично. Тем не менее, второй не идет вперед даже ни одного кадра. Код, который я упомянул ниже, находится во втором мувиклипе, содержащем фоновое изображение. И я думаю, что этот код вызывает проблему, потому что, когда я удаляю это, он играет отлично. Функция этого кода заключается в автоматическом изменении размера фонового изображения в соответствии с размерами браузера. Весь код прекрасно работал на основной временной шкале. Однако, когда я переместил его в мувиклип, это вызвало проблему.

//set stage for FBF
stage.align = "TL";
stage.scaleMode = "noScale";

//define dynamic aspect ratios
var bg_mainHeight = bg_main.height / bg_main.width;
var bg_mainWidth = bg_main.width / bg_main.height;

//add event listener to the stage
stage.addEventListener(Event.RESIZE, sizeListener);

//conditional statement to account for various initial browswer sizes and proportions
function scaleProportional():void {
    if ((stage.stageHeight / stage.stageWidth) < bg_mainHeight) {
        bg_main.width = stage.stageWidth;
        bg_main.height = bg_mainHeight * bg_main.width;
    } else {
        bg_main.height = stage.stageHeight;
        bg_main.width = bg_mainWidth * bg_main.height;
    };  
}

//center bg_mainture on stage
function centerbg_main():void {
    bg_main.x = stage.stageWidth / 1000;
    bg_main.y = stage.stageHeight / 1000;
}

// make listener change bg_mainture size and center bg_mainture on browser resize
function sizeListener(e:Event):void {
    scaleProportional();
    centerbg_main();
}

//run initial locations and size
scaleProportional();
centerbg_main();

1 Ответ

0 голосов
/ 30 января 2012

Да, обычно, если ваш видеоклип bg_main имеет центральную точку регистрации, это будет (при условии, что bg_main был добавлен непосредственно на сцену):

function centerbg_main():void {
    bg_main.x = -stage.stageWidth / 2;
    bg_main.y = -stage.stageHeight / 2;
}

или если точка регистрации находится слева вверху, это будет:

function centerbg_main():void {
    bg_main.x = 0;
    bg_main.y = 0;
}

Вы также можете проверить, что оба фрагмента ролика были правильно названы экземплярами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...