|
|
|||||
ActionScript 3 с нуля
Извините если поднял ненужный вопрос - просто хотел бы создать топик в котором можно было бы сконцентрировать вопросы ну уж совсееем для тех кто не в теме.
При необходимости можете удалить тему... Ну так вот - тема AS3 относительно молодая. Это видно хотя бы потому что документаций и примеров по ней не так и много, можно сказать практически нет. но а что есть - не совсем понятно что для чего и откуда берётся. Если позволите я буду задавать совсем глупые вопросы - которые возможно бы пролили свет на то что происходит... итакс начну. Поставил 9ю версию флеша, настроил Паблик на AS3 и открываю окно программирования. первое что хочу сделать - написать 'Приветище мир!' пишу жму Ctrl+Enter работает! натыкаюсь на пример в инете: package main { import flash.display.Sprite; public class test1 extends Sprite { public function test1() { trace("Hello World"); } } } вот тут меня и понесло задавать вопросы... например что ещё за package? для чего нужна строчка ? import flash.display.Sprite; и что она означает ? как разобраться с классами если раньше с ними никогда не работал public class test1 extends Sprite { } тем более что слов много и непонятно что для чего и функция тоже public function test1() { } вроде как всё знакомо но непонятно какои образом она вызвалась, или как вызвался класс.... В общем совсем ничего не понятно.... я так же пытался почитать http://livedocs.adobe.com/flex/201/langref/index.html но там тоже только описание операторов, но простейших примеров как они работают нет. Догадайся мол сам =( |
|
|||||
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
по-моему тебе нужно начать с теории ООП, почитав Мука.
__________________
Flex 2 и Co |
|
|||||
а ссылка есть?
или где купить кстати понятие классов и функций я имею, использовал их как в AS2 так и в PHP (было немного на DELPHI) но тут чё то немогу никак разобраться.... Последний раз редактировалось DRAGOnoid; 21.02.2007 в 14:02. |
|
|||||
пошаманив немного с примерами - кое что стало немного ясно.
как известно поле Document class сделанно для того чтобы присвоить в него основной класс. в этом случае код класса пишется в отдельном *.as файле. а в Document class пишется путь к этому файлу. путь выглядит следующим образом main.fff.ggg где main это папка лежащая в той же директории где наш *.fla файл fff - папка лежащая в папке main, а ggg - это имя нашего файла *.as лежащая в папке fff. т.е. получается путь к ggg.as всё верно? (хотя остаются вопросы как перейти в другие уровни и т.д. - но до этого пока щас не дошёл). да ещё заметил что поле *.fla файла обязательно должно оставаться пустым - иначе возникает ошибка (даже если просто коментарий написать) - почему? То же самое касается и сцены - в ней тоже не должно ничего быть иначе вылезает ошибка. Второе что интересует как быть с встроенным программным полем fla ? там работают простые примеры типа trace(); математика, определение параметров объектов и т.д. А как например мне сделать autoSize к динамическому полю? http://livedocs.adobe.com/flex/201/l....html#autoSize Последний раз редактировалось DRAGOnoid; 21.02.2007 в 17:33. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
|
|
|||||
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
А почему бы Вам сперва не прочитать статью многоуважаемого Мерлина http://www.timezero.ru/storm/page1.html, где на конкретном примере показано что, куда и зачем в AS3?
Тема с обсуждением так и называется: "Знакомство с Actionscript 3" и находится 10 строчками ниже. http://flasher.ru/forum/showthread.php?t=83431
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
пример с Timezero просто восхитителен!
Но архитектура не сразу ясна.... я же как раз и сравнивал изначально 2 примера - Hello World c timezero и свой старый бытовой. http://as3.ru/?p=14 - сильно похож на код с таймзеро (и кстати там я тоже откоментировался об небольшой поправке как DRAGON ) в таймзеро там некоторые мелочи опускают - вот я их и хотел бы уточнить. например что есть package main { } ? и как оно работает? из всего текста я полнял что import - это своего рода добавление библиотеки. (зачем такая сложность?) к тому же как я понял в SWF или плугине FLASH всёравно запускаются все эти библиотеки. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
package main всего лишь означает, что класс находится в пакете main и всё.
Если ты писал на AS2, то не понимаю, откуда такие вопросы возникают. |
|
|||||
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
> например что есть package main { } ?
> и как оно работает? см. здесь http://flasher.ru/forum/showpost.php...9&postcount=93 > из всего текста я полнял что import - это своего рода добавление библиотеки. да, http://flasher.ru/forum/showpost.php...6&postcount=86 > (зачем такая сложность?) этот вопрос меня тоже беспокоит теоретически Flash мог бы и сам найти нужные классы. Может для порядку? Как, например, ввели обязательно писать override при переопределении метода класса, чтобы случайно не заменить уже существующий. Так возможно и здесь, если ты не написал import а пытаешься использовать класс, так может это просто опечатка в имени класса? > к тому же как я понял в SWF или плугине FLASH всёравно запускаются все эти библиотеки. нет, в SWF будут встроены только те библиотеки, которые были указаны в import. Кстати еще один прикол, если включить Strict mode (http://flasher.ru/forum/showpost.php...postcount=101), написать в классе import чего-либо, что в классе не используется, то компилятор на это ругается, типа чего объявить объявил а не используешь, вот только текст ошибки сбивает с толку, там говорится не могу найти объявленный класс > как разобраться с классами если раньше с ними никогда не работал > public class test1 extends Sprite { } > тем более что слов много и непонятно что для чего про много слов см. тут http://flasher.ru/forum/showpost.php...66&postcount=9 > и функция тоже > public function test1() { } > вроде как всё знакомо но непонятно какои образом она вызвалась, Если функция названа так же как класс - это конструктор, который вызывается автоматически при создании класса > или как вызвался класс.... он был записан в поле Document class, см. тут http://flasher.ru/forum/showpost.php...0&postcount=77 > да ещё заметил что поле *.fla файла обязательно должно оставаться > пустым - иначе возникает ошибка (даже если просто коментарий написать) - почему? > То же самое касается и сцены - в ней тоже не должно ничего быть иначе вылезает ошибка. Потому что размещенные на сцене объекты будут встроены в рутовый класс (Document class) а если этот класс не объявлен как динамический (dynamic), то в него нельзя ничего динамически добавить, потому и возникает ошибка. Добавь слово dynamic в описание рутового класса и все будет ok. > Второе что интересует как быть с встроенным программным полем fla ? см. тут http://flasher.ru/forum/showpost.php...1&postcount=33 |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
import в AS3 работает именно как импорт, т.е. зашивает всё-таки классы.
|
Часовой пояс GMT +4, время: 14:57. |
|
« Предыдущая тема | Следующая тема » |
|
|