Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Разница между кодом в кадрах и в пакетах/классах (http://www.flasher.ru/forum/showthread.php?t=202976)

vlbuto 23.08.2013 06:05

Разница между кодом в кадрах и в пакетах/классах
 
Здравствуйте ув. форумчане.

Интересуют по сути 2 вопроса связанные между собой:

1) Какая разница, писать код по нажатию F9 (т.е. в кадрах), либо создавать отдельно *.fla и *.as файлы, связывая их.

2) В чем разница между instance name либо экспорт для as3.0 (когда создаю символ)

Убедительная просьба подробнее и без воды...

Заранее спасибо.

Tails 23.08.2013 10:28

1. Разница огромная:
Символ - динамический класс наследованный от базовых Sprite или MovieClip. таймлайн в символах или главный таймлайн, это тоже - динамические классы MovieClip. Код в кадрах - это методы динамического класса. Код в кадрах - сильнее запутывает и менее структурирован, чем код написанный в классах.

2.instance name задаёт вашему уже созданному экземпляру класса строковой параметр name. Экземпляр класса - это объект определённого класса уже имеющегося на сцене (или в памяти), как например текстовое поле на сцене являющееся экземпляром класса TextField.
Задавая имя для экспорта, вы фактический делаете ваш клип (или по другому созданный вами класс) доступным для вашего кода и сможете создавать экземпляры этого класса: new MyHuman() в любом месте программы.

Ваши вопросы прямо касаются ООП парадигмы в AS3. Это слишком большая тема, что-бы уместить её в одном сообщений да ещё "подробнее и без воды". Подробнее будет в какой нибудь книжке, посвящённой ООП во флеш. Например Колин Мук достаточно ясно разъясняет все нюансы.

Zebestov 23.08.2013 12:38

Цитата:

Сообщение от Tails (Сообщение 1144549)
instance name задаёт вашему уже созданному экземпляру класса строковой параметр name.

Не совсем точно. Главным образом instance name определяет имя переменной, которая является ссылкой на данный объект.

Tails 23.08.2013 14:34

Zebestov,
Как всё сложно в этом ide :)

SvetozarPNZ 23.08.2013 15:26

1. Когда вы создаете небольшое приложение и используете мало кода (например ссылка во флеш-баннере), то вам как новичку удобнее написать его в кадре. Но когда вы созреете для более масштабного приложения, то в нем удобнее разделить роли между объектами. Каждый объект что-то умеет (описываются методы) и что-то знает, хранит в себе (описываются свойства). Похожие объекты объединяются в классы и после этого не нужно описывать каждый объект в отдельности, достаточно создать экземпляр класса.
2. Объект, который находится на сцене и вы задали ему instance name - это экземпляр какого-либо класса. А в библиотеке экспортирован сам класс. Его экземпляр можно создать в коде и поместить на сцену не один раз. Представьте, что в вашем приложении-игре есть стрельба пулями. Не будете же вы каждой пуле прописывать имя, чтобы управлять ее полетом. Лучше из библиотеки их подгружать в массив.

dimarik 24.08.2013 00:29

Цитата:

Сообщение от SvetozarPNZ (Сообщение 1144573)
Похожие объекты объединяются в классы

Никогда объекты, ни похожие, ни не очень похожие, не объединялись в классы.

SvetozarPNZ 24.08.2013 13:12

Цитата:

Никогда объекты, ни похожие, ни не очень похожие, не объединялись в классы.
Хм. Тогда так:
Для объектов с похожими методами и свойствами, можно создать классы.

Frost47rus 25.08.2013 01:33

Используйте FlashDevelop для кода, а Flash CS - для графики и последующего экспорта её в swc/swf.

Wolsh 25.08.2013 02:12

Я вот сам с легкостью даю такие "советы", потому что учился писать код в классах еще на AS2 — перед этим года два используя его же в кадрах, потом в единственном кадре + классы, и наконец, только классы в FD. Я даже представить не могу, как бы я начинал писать код в классах на AS3 в FD с нулевого уровня владения языком и знания внутренних процессов технологии. Скорее всего — никак.

Akopalipsis 25.08.2013 02:25

Себя я как пример не могу привести)) но я вот как раз и начал с классов и FD. Правда обратная сторона этому тоже есть. В погоне за результаты в классах, я узнал о паттернах раньше чем понял, что такое parent и root на деле. Дико может казаться тем, кто сначала учился квадратики рисовать и циклы. Но это только по тому, что вы так не учились!) я на самом деле, отвечая в простых темах, многое делаю впервые и в большей части для того, чтобы мне на ошибки указывали) Страшного на самом деле не чего нет, даже наоборот. Мне кажется что если начинать не с классов и с разу не с изучения гениальных работ, то можно долго быть не в теме.


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

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