Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   ооп во ActionScript (http://www.flasher.ru/forum/showthread.php?t=121017)

axiom 05.02.2009 15:29

ооп во ActionScript
 
Здравствуй народ!
У меня всё хорошо,вот только надоело код на кадры лепить.Решил для себя ООП освоить(по книжке Колин Мука).Но обьекты классов всё равно на временной создаю.Нужен инициализирующий класс не такли?Как свести на нет код таймлайна?
P.S.Не судите строго картина всего пока размыта.

vrem 05.02.2009 15:32

Если ты еще только начинаешь учить, то лучше сразу переходи на ActionScript3. Там для ооп больше инструментария

qazwsx 05.02.2009 16:06

Можно сделать класс например назвать его Main. Он будет наследоватся от MovieClip и атачится в таймлайне. Это будет единственный код написанный в таймлайне. Далее использовать этот Main как основной класс-контейнер для других т.е будет как аналог _root или DocumentClass в AS3

chingachgoog 05.02.2009 16:22

Можно хранить в библиотеке пустой мувик, который экспортируется в 1-й кадр для скрипта.
В мувике
Код:

#initclip
 // Активация главного класса
#endinitclip


axiom 05.02.2009 16:42

Vrem немогу себе такое позволить!
Всем спасибо,за советы.И такой вопрос:литературу какую посоветуете?

Wolsh 05.02.2009 18:55

Колин Мук. "ActionScript 3.0 для Flash. Подробное руководство"

Psycho Tiger 05.02.2009 21:03

Цитата:

Сообщение от chingachgoog (Сообщение 795814)
Можно хранить в библиотеке пустой мувик, который экспортируется в 1-й кадр для скрипта.
В мувике
Код:

#initclip
 // Активация главного класса
#endinitclip


Лучше наверное, классом оформить.

dimarik 05.02.2009 22:03

да, лучше классом
Код AS1/AS2:

//-----------------------------
// File *.swf
//-----------------------------
 
Main.assign(this);
 
 
//-----------------------------
// File Main.as
//-----------------------------
class Main {
 
        public static function assign(mc:MovieClip):Main {
                if (!mc) return null;
                var c:Function = Main;
                mc.__proto__ = c.prototype;
                c.call(mc);
                return Main(mc);
        }
 
        /**
        *        Constructor.
        */

        private function Main() {
                super();
                // точка входа
        }
}


qazwsx 05.02.2009 22:26

Всеравно лучше было бы если бы этот класс работал с клипом какимто основным как бы, но сам бы им не являлся)

Хотя я вообще не пойму зачем так сделано)

silin 05.02.2009 22:55

я в свое время довольно плотно пользовал (и сейчас пользуюсь если надо что-то в AS2 делать) такую схему:
все основано на том же приеме, что показал dimarik - просто ставим мувик в цепочку наследования классу (походу вызываем конструктор, если надо)
в результате имеем возможность создавать (и аттачить тоже) мувики "своих" классов без прописывания класса в библиотеке
в общем получается работать с нормальной иерархией классов без особой оглядки на таймлайн (почти как AS3 :))

реально экономит время если работать в схеме типа FD-mtasc-swfmill, IDE здесь получается почти не при делах (только сгенерить графику)
если же писать/компилить в IDE, то не думаю что от такого подхода будет выгода - тогда наверное удобнее все же в библиотеке класс прописать


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

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