Кнопка Flash (создание страницы меню с кнопками Flash для открытия SWF-файлов) - PullRequest
0 голосов
/ 17 мая 2011

Добрый день всем.Я здесь сегодня, чтобы обратиться за помощью о Flash CS4 и ActionScript 3.0.История начинается, когда однажды мой начальник попросил меня сделать флэш-презентацию о предстоящем обучении пользователей новому программному обеспечению.Я был в восторге и взволнован этим, потому что я долгое время не использовал Flash (обратите внимание, что у меня нет никакого опыта в ActionScript 3.0).Сначала все было немного грубо, так как мне нужно вспомнить, как правильно использовать кадры для создания успешной анимации.Когда я собирался закончить проект, мой босс снова подошел ко мне и спросил, могу ли я вставить страницу меню впереди, чтобы пользователям не пришлось заново воспроизводить все это, просто чтобы посмотреть что-то в этой частифильм.Так что да, сначала я не решался принять.Я сказал, что это будет работать с Powerpoint.Но она полный толкатель, и я был вынужден сказать да.Теперь у меня возникла проблема с тем, как заставить флэш-кнопку загружать SWF-фильм.Я пытался искать по всей сети учебники, но в большинстве случаев "getUrl" и другие вещи считаются устаревшими.Помогите пожалуйста?

1 Ответ

1 голос
/ 17 мая 2011

Этот ответ основан на моей интерпретации вашего вопроса, а именно: «Могу ли я создать SWF-файл, который действует как меню, и загружать различные SWF-файлы в зависимости от того, что пользователь нажимает в меню?».

Ответ, конечно, да, и вот как:

Несколько вещей, которые вам нужно понять / посмотреть:

  1. Классы Loader и URLRequest.
  2. Прослушиватели событий для кнопок.

Вот функция загрузки SWF:

var loadedSWF:Loader = null;

/**
 * Loads an SWF and adds it to container once complete
 * @param file The URL to the SWF to load
 * @param container The container to add the SWF to
 */
function loadSWF(file:String, container:MovieClip=null):void
{
    if(container == null) container = MovieClip(root);

    // removes the previously loaded SWF
    if(loadedSWF != null)
    {
        if(loadedSWF.parent) loadedSWF.parent.removeChild(loadedSWF);
    }

    var req:URLRequest = new URLRequest(file);
    loadedSWF = new Loader();
    loadedSWF.load(req);

    addChild(loadedSWF);
}

А вот как использовать эту функцию при нажатии кнопки:

mybutton.addEventListener(MouseEvent.CLICK, _click);
function _click(e:MouseEvent):void
{
    loadSWF("myfile1.swf");
}

По вопросу в комментариях:

Вы можете использовать navigateToURL() вместо Loader и настроить внешние SWF-файлы на разных страницах (например, на веб-сайте). Если вы собираетесь это сделать, возможно, имеет смысл сохранять основную страницу индекса просто в формате HTML и запускать страницы в новых окнах. Если вы все еще хотите, чтобы ваша главная страница отображалась как Flash, то переход на страницу в новом окне выполняется следующим образом:

button.addEventListener(MouseEvent.CLICK, _click);
function _click(e:MouseEvent):void
{
    var req:URLRequest = new URLRequest("somepage.html");
    navigateToURL(req, "_blank");
}
...