Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   2 мувика и JPG. Загрузка. Помогите! (http://www.flasher.ru/forum/showthread.php?t=96413)

Toxa4ka 30.05.2007 04:35

2 мувика и JPG. Загрузка. Помогите!
 
Решил создать тему тут, потому как вопрос именно по АС3.
Есть 1 картинка, мувик презентации, и мувик который действует как прелоадер: 1 кадр:

Код:

var loader:Loader = new Loader();
var request:URLRequest = new URLRequest("boats1.swf");
loader.load(request);
addChild(loader);

var abortID:uint = setTimeout(abortLoader, 3000);

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, abortAbort);

function abortLoader(){
    try {
        loader.close();
    }catch(error:Error) {}
}
function abortAbort(event:Event){
    clearTimeout(abortID);
}

Раньше в АС2 нельзя было абортить лоадер, пока не прогрузятся все байты, сейчас с появлением АС3 можно.
Как это выглядит: грузится презентация в шапку, довольно тяжёлая (она идёт вторым мувиком) диалапщики должны иметь возможность нажать на кнопочку "скип лоад" которая выполнит функцию abort loader, и быстренько подгрузит статическую картинку. То есть выполнить ещё раз скрипт, но уже с таким условием
:var request:URLRequest = new URLRequest("Картинка.jpg");.

Взываю о помощи. 3 дня бьюсь.
1) Что прописать в кнопку (и почему Flash CS3 не даёт мне вообще, что либо прописать в Action кнопки?)
2) Как граммотно перестроить акшн 1 кадра главного мувика, чтобы при выполнении функции аборта, он подгружал лёгкую картинку а не тяжёлый мувик.

etc 30.05.2007 04:38

Для AS3 есть соответствующий раздел.

1) Потому что код пишут в классах, а не во fla-файлах, никаких кодов «на» или «в» мувиках/кнопках быть не должно. Тем более, «на» отменили уже, слава богу.
2) Убрать весь код из fla, для начала. Написать нормальный Document class, пару классов для кнопки и т.п.

Dendroid 01.06.2007 11:14

Ну это уже фанатизм какой-то... Зачем же всё всегда в отдельные классы? Ну я могу понять, если это первокурсник, которому надо становиться в будущем профессиональным программистом, ему такое непозволительно, он аскет по определению и должен всё время чувствовать себя как в армии. :D
Зачем создавать дополнительные барьеры, ведь ясно же, что человек, который 3 дня грузит картинку, сможет оценить все тонкости строгого ООП программирования на АС3 очень-очень нескоро и не со 100% вероятностью? А что он будет в это время есть? ;) Это касты что ли такие недоступные из настоящих програмиистов организовываем? :)

Многие вещи всё ещё проще и намного быстрее делать в самом Флэше. Тем более такие дизайнерско/мало-программные. Тут Flash 9 ничем не отличается от 8,7,6...
Всё просто:
1. В кнопке нельзя ничего писать т.к. она теперь SimpleButton, только 4 состояния, чистая графика. Но можно сделать из неё MovieClip и самому переключать стейты, написав код внутри.
2. Достаточно добавить команду:
Код:

skip_btn.addEventListener(MouseEvent.CLICK, skip);
function skip (event:Event=null) {
        loader.close();
        var request:URLRequest = new URLRequest("Картинка.jpg");
        loader.load(request);
}



Часовой пояс GMT +4, время: 07:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.