шаблон дизайна сайта с AS3 и flash - PullRequest
0 голосов
/ 22 декабря 2011

Я собираюсь создать веб-сайт во флэш-памяти и AS3, где некоторым страницам будет предоставляться контент через программу разработки Flash, а другие будут генерироваться динамически с помощью as3 (не только содержимого страницы, но и самих новых страниц. добавлено через AS3). Я пытаюсь выяснить общую архитектуру кода для поддержки этого.

Первое решение, которое приходит на ум, заключается в следующем: наличие всех дочерних экранных объектов для содержимого любой отдельной страницы, размещенного в фрагменте ролика контейнера. Таким образом, у меня был бы один видеоклип на сцене для каждой страницы. Поначалу я мог определить, на какой странице находится человек, установив для альфа значение none, отключив всю интерактивность мыши для видеоклипов, которые не являются текущей страницей. Но я не уверен, что это лучший способ управлять памятью. Другая возможность состоит в том, чтобы перемещать эти видеоклипы за пределы сцены, когда они не используются, но это может страдать от тех же проблем с памятью. Наконец, я мог бы просто добавлять и удалять экранные объекты, чтобы на сцене был только один фрагмент ролика за раз, но как мне сохранить страницы, которые были встроены в программу разработки Flash? Могу ли я сохранить все это где-нибудь в AS3, чтобы я мог добавить отображаемые дочерние элементы обратно в их исходную форму?

Если кто-то знает о некоторых статьях, которые могут касаться этих проблем, или объясняет простые шаблоны дизайна для веб-страниц AS3 / flash, это было бы замечательно. Я уверен, что кто-то умнее меня продумал это, и я не хочу заново изобретать колесо.

1 Ответ

1 голос
/ 23 декабря 2011

Я бы "экспортировал" каждую "страницу" в свой собственный класс (из библиотеки) вместе с соответствующим файлом .as для любого конкретного кода для каждой страницы.Затем назовите мувиклип с именем, подобным mainContent_mc, который всегда будет существовать на сцене в качестве заполнителя.

Когда вы хотите загрузить новую страницу, вызовите такую ​​функцию, как:

function loadPage(pageNumber:int):void {
    //Remove any children of the content placeHolder
    //TODO: Handle any other memory management here as well
    while(mainContent_mc.numChildren > 0){      
        mainContent_mc.removeChildAt(0);
    }

    //Add the desired page
    switch(pageNumber){
        case 0:
            var p0:HomePage = new HomePage();
            mainContent_mc.addChild(p0);
            break;
        case 1:
            var p1:AboutPage = new AboutPage();
            mainContent_mc.addChild(p1);
            break;
    }
}

Конечно, если ваши страницы действительно занимают мало памяти, вы можете обойтись просто установив .visible = false; длявсе ваши "страницы", но я бы все равно организовал их, как указано выше.

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