![]() |
|
||||||||||
|
|||||
|
[+1.6 19.12.06]
Регистрация: Nov 2000
Сообщений: 135
|
ДОБРЫЕ Люди!!!!
Спасите мою голову!!! Всю жизь писал АС и не парился! Писал так чтоб работало - никаких функций, определений объектов, тем более классов! И тут сорвало мне голову... нарвался на www.flash-ripper.com пока не разберузззь не успакоюзззь - как етот Обджект Ориентал работает... Все понятно вроде когда чужой код читаешь - а когда свой начинаю писать вопросов в голове такое кол-во, что я себя первоклассником чуйствую!!! Подскажите где в сети почитать про Обджект Ориентал Пр. а то денег нет за книжкой бежать... .............................................................................................. Если вдуг у кого время есть помогите с примером... Задача такая: Есть n файлов/слоёв(кол-во их конечно может меняться иначе зачем етот ООП - пользовать так по полной ) backGround percent logo menu text foto ... хотелось бы в main файле, куда будут грузиться ети файлы ограничется вызовом функции (назовём её createLayer) которая будет: 1. создовать v _root мувик с именем файла (учитывая _depth в порядке вызова функции) 2. грузить туда етот файл 3. отслеживать его загрузку (запуская по setInterval другую Фу-ю ) 4. запуская еще одну Фу-ю высчитывать общий % всех загружаемых файлов 5. передавать етот процент в _root.percent (тот самый уже загруженный файл) вот с чего я начал: createLayer.as: var Layers = 0; var interval; var percent; function createLayer(object_name) { Layers++; _root.createEmptyMovieClip(object_name, Layers); loadMovie(object_name+".swf", "_root."+object_name); interval = setInterval(percent=Preload, 1000, object_name); } function Preload(object_name) { return _root[object_name].getBytesLoaded()/_root[object_name].getBytesTotal()*100; } main.fla: #include " createLayer.as" createLayer("backGround"); createLayer("percent"); createLayer("logo"); createLayer("menu"); createLayer("text"); createLayer("foto"); грузить файлы получается - правдо чую что через Ж... я это делаю... а вот куда лучше сохранять етот процент пока сам лаер не подгрузился?? наверное лучше создать обект Preload и в нем хранить о общий просент и процент каждого лаера... + неполучается создать в каждом МС его порядковый номер Ж ( + непонимаю как создать объект Preload с переменными и для общего и для каждого лаера: (( + непонимаю как передовать эти подсчитанные переменные из этих функций в этот Preload! HELP PLEASE!!! Последний раз редактировалось TbIKBA; 12.05.2004 в 20:21. |
|
|||||
|
http://www.bruceeckel.com/ - один из самых уважаемых мною авторов книг по ООП. В том числе моей любимой "Философия Java" ("Thinking in Java")
Второй вопрос (вопросы?): _root.createEmptyMovieClip(object_name, Layers++); - приращение номера Layer (кстати, в ООП с большой буквы предположительно начинаются названия классов) Совет - создай объект, в этом объекте создай ассоциированный массив, в котором каждому названию объекта соответствует его глубина: Или простой массив, в котором для соответствующего индекса глубины задавай строку-имя: И дергай значения из этих массивов.
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
[+1.6 19.12.06]
Регистрация: Nov 2000
Сообщений: 135
|
В объекте site есть Array layerName с именами моих лайеров.
_root[site.layerName[count]].getBytesTotal() выводит underfined ???? опять незнаю синтаксис! |
|
|||||
|
Все работает, просто элемент массива layerName[] должен быть строкой.
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
__________________
судью - на мыло, из игроков - вить веревки. |
![]() |
Часовой пояс GMT +4, время: 09:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|