![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
а примерчики всёравно хорошие
спасибо
__________________
Black DRAGON хочет кушать Т_Т |
|
|||||
|
А вот интересно, если я игруху сделаю на базе этого туториала никто не обидется?
Могу денег сколько-то заплатить =)
__________________
Сам себе репортер |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну прям с тем же кодом я бы не стал.
|
|
|||||
|
Почему?
__________________
Сам себе репортер |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что этот код, мягко говоря, не соответствует современному AS3.
|
|
|||||
|
Это не проблема, я все равно все перепишу по-своему =)
Главное чтобы было с чего начать.
__________________
Сам себе репортер |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 20
|
В общем есть проблема с прелоадером... Прочитав всю тему с 1-й до этой страници я выправил несколько ошибок, но все таки некоторые остались, я использую Flash CS3, 9-ка...
Опишу все как есть и сколько ошибок и каких выбевает на этом не легком пути к истине... Значит в fl файле 3-и кадра, 1-й кадр прелоадер, 2-й кадр кнопка Start, 3-й кадр сцена с игрой... Расположил на первом кадре MovieClip под названием "preloader" в котором текстовое поле с id: txt, ну и стоит Dynamic Text, и MovieClip под названием "progressbar" с Instanse of: progressbar В MovieClip-е с названием "preloader" поставил в Linkage... галочку Export for AS, прописал класс: main.preloader, это внешний файл лежащий в папке main с названием preloader.as На первом кадре в главной сцене(root), во фрейме написал stop(); Код на внешний файл preloader.as package main { import flash.display.MovieClip; import flash.events.*; dynamic public class preloader extends MovieClip { public function preloader() { // Нужно периодически вызывать функцию Update, которая будет обновлять процент загрузки // Используем старый-добрый onEnterFrame с учетом событий AS3 addEventListener(Event.ENTER_FRAME, Update); } public function Update(e : Event):void { var bytesLoaded:Number = stage.loaderInfo.bytesLoaded; var bytesTotal:Number = stage.loaderInfo.bytesTotal; var s:String = ""; var percent:Number = 0; if (bytesTotal>0){ percent = Math.floor(bytesLoaded/bytesTotal*100); s = percent+"% ("+ Math.round(bytesLoaded/1024)+"kb / "+ Math.round(bytesTotal/1024)+"kb)"; } this.txt.text="Loading... "+s; this.progressbar.gotoAndStop(percent+1); // Если полностью загрузились, то переходим на второй кадр if (bytesLoaded==bytesTotal || bytesTotal==0){ removeEventListener(Event.ENTER_FRAME, Update); if (parent is MovieClip) { MovieClip(parent).play(); } } } } } preloader.as Line 1 1046: Type was not found or was not a complite-time constant: TextField. Причем здесь TextField, я же написал dynamic public class preloader extends MovieClip { и выбрал для текстового поля Dynamic text, указал в нем ID: txt ))))) В общем думал справлюсь сам, но после 4 часов над исправлением ошибок одна за другой замучался, тут я уже пришел в тупик, что оно от меня хочет? Подскажите пожалуйста, уже нету сил с ним боротся, код по прочтению всей темы я так понял писался для FL v. 8... Повторюсь, у меня 9-ка... Добавлено через 5 часов 18 минут Разобрался сам, опять моя ошибка... Забыл написать import flash.text.TextField; Хотя в примере игры, в файле preloader.as автора этой строки нету ))))) Хотя у меня еще возник один вопрос, при компеляции файла, в Flash CS3 компилирую Ctrl+Enter, в окне Player-а в меня View > Simulate Download показывается что файл грузится... но в самом флег окне загрузка прелоадера, то есть отображения мувиклипа самого показывается только тогда, когда % дошел до 80 и только после 80, прелоадер отображается и эта полоска загрузки добегает четверь всей длины, у меня вопрос, почему эта полоска загрузки не с 0% начинает отображаться? Последний раз редактировалось root.Unknown; 27.12.2008 в 12:34. |
|
|||||
|
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
А какой вес первого кадра? Может там все классы игры и сидят, потому-то и грузится он долго, т.к. большой?
"Export classes in frame" стоит 2 ? |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 20
|
хм... а где его ставить или посмотреть вообще?
Если на любом MovieClip-е нажать правой кнопкой мыши и выбрать Linkage..., то там можно выбрать только Class: name BaseClass: flash.Display.MoiveClip Linage: Export for ActionScript (стоит галочка) Export for runtime sharing Export in first Frame (стоит галочка) а где прописать "Export classes in frame" "2" не знаю... : |
|
|||||
|
Регистрация: Jul 2007
Адрес: Дубна, Моск.обл.
Сообщений: 108
|
root.Unknown
Publish Settings -> Flash -> (ActionScript 3.0) Settings -> Export classes in frame |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|