AS3.0 Воспроизведение всего фильма (*файл SWF)

Я сделал небольшую игру на Actionscript 3.0 и flash.

Когда игрок выигрывает игру или «игра окончена», у игрока должна быть возможность переиграть игру.

Итак, мой вопрос: есть ли способ воспроизвести весь фильм с помощью Actionscript? Я знаю, я мог бы сбросить временную шкалу обратно на 0 и повторно создать все классы, мувиклипы, var и т. Д. ... но мне было интересно, знает ли кто-нибудь более простое решение.


person Tieme    schedule 23.06.2011    source источник


Ответы (3)


Вы можете удалить swfObject и добавить его снова. Посмотрите здесь. Это ссылка на swfObject.

person Jorjon    schedule 23.06.2011

Просто сделайте это:

import flash.net.*;
//...
navigateToURL(new URLRequest(stage.loaderInfo.url), "_level0");
person jkarretero    schedule 09.09.2012

Перезагрузите страницу, в которую вы встроили swf, может быть самым простым способом.

Путь программиста заключался бы в том, чтобы инкапсулировать все ваше приложение в один класс (расширяющий Sprite или MovieClip), который будет прикреплен к сцене. Для перезапуска игры вы можете просто удалить этот экземпляр со сцены и добавить на сцену вновь созданный.

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

Трудно сказать вам, что вы можете сделать, если мы не знаем, как устроен ваш проект.

person DanielB    schedule 23.06.2011
comment
Могу ли я удалить свой экземпляр класса документа и снова добавить его? - person Tieme; 23.06.2011
comment
Можешь попробовать. stage.removeChildAt(0) и stage.addChild(new DocumentClass()). - person DanielB; 23.06.2011