Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 21.02.2007, 13:33
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 1  
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
Question ActionScript 3 с нуля

Извините если поднял ненужный вопрос - просто хотел бы создать топик в котором можно было бы сконцентрировать вопросы ну уж совсееем для тех кто не в теме.

При необходимости можете удалить тему...

Ну так вот - тема AS3 относительно молодая. Это видно хотя бы потому что документаций и примеров по ней не так и много, можно сказать практически нет.

но а что есть - не совсем понятно что для чего и откуда берётся.

Если позволите я буду задавать совсем глупые вопросы - которые возможно бы пролили свет на то что происходит...

итакс начну.
Поставил 9ю версию флеша, настроил Паблик на AS3 и открываю окно программирования.

первое что хочу сделать - написать 'Приветище мир!'
пишу
Код:
trace ("Приветище мир!");
жму Ctrl+Enter
работает!

натыкаюсь на пример в инете:
Код:
package main { 
     import flash.display.Sprite; 
  
     public class test1 extends Sprite { 
           public function test1() { 
                trace("Hello World"); 
           } 
     } 
}
пример взят отсюда http://www.timezero.ru/storm/

вот тут меня и понесло задавать вопросы...
например что ещё за package?
для чего нужна строчка ?
import flash.display.Sprite;
и что она означает ?

как разобраться с классами если раньше с ними никогда не работал
public class test1 extends Sprite { }
тем более что слов много и непонятно что для чего
и функция тоже
public function test1() { }
вроде как всё знакомо но непонятно какои образом она вызвалась, или как вызвался класс....
В общем совсем ничего не понятно....

я так же пытался почитать http://livedocs.adobe.com/flex/201/langref/index.html
но там тоже только описание операторов, но простейших примеров как они работают нет. Догадайся мол сам =(

Старый 21.02.2007, 13:37
baron27 вне форума Посмотреть профиль Отправить личное сообщение для baron27 Посетить домашнюю страницу baron27 Найти все сообщения от baron27
  № 2  
baron27
Контрибьютор базы знаний по Флекс
 
Аватар для baron27

Регистрация: Aug 2005
Сообщений: 690
по-моему тебе нужно начать с теории ООП, почитав Мука.
__________________
Flex 2 и Co

Старый 21.02.2007, 13:56
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 3  
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
а ссылка есть?
или где купить

кстати понятие классов и функций я имею, использовал их как в AS2 так и в PHP (было немного на DELPHI) но тут чё то немогу никак разобраться....


Последний раз редактировалось DRAGOnoid; 21.02.2007 в 14:02.
Старый 21.02.2007, 17:25
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 4  
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
пошаманив немного с примерами - кое что стало немного ясно.
как известно поле 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.
Старый 21.02.2007, 17:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Код в кадрах в девятом флеше не пишется.

http://as3.ru/?p=14

Старый 21.02.2007, 18:55
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 6  
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
А почему бы Вам сперва не прочитать статью многоуважаемого Мерлина http://www.timezero.ru/storm/page1.html, где на конкретном примере показано что, куда и зачем в AS3?

Тема с обсуждением так и называется: "Знакомство с Actionscript 3" и находится 10 строчками ниже. http://flasher.ru/forum/showthread.php?t=83431
__________________
Верить никому нельзя. Мне - можно. :)

Старый 21.02.2007, 21:04
DRAGOnoid вне форума Посмотреть профиль Отправить личное сообщение для DRAGOnoid Посетить домашнюю страницу DRAGOnoid Найти все сообщения от DRAGOnoid
  № 7  
DRAGOnoid
 
Аватар для DRAGOnoid

Регистрация: Jan 2004
Адрес: Moscow
Сообщений: 389
Отправить сообщение для DRAGOnoid с помощью ICQ
пример с Timezero просто восхитителен!
Но архитектура не сразу ясна....
я же как раз и сравнивал изначально 2 примера - Hello World c timezero и свой старый бытовой.
http://as3.ru/?p=14 - сильно похож на код с таймзеро (и кстати там я тоже откоментировался об небольшой поправке как DRAGON )

в таймзеро там некоторые мелочи опускают - вот я их и хотел бы уточнить.
например что есть package main { } ?
и как оно работает?
из всего текста я полнял что import - это своего рода добавление библиотеки. (зачем такая сложность?) к тому же как я понял в SWF или плугине FLASH всёравно запускаются все эти библиотеки.

Старый 21.02.2007, 21:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
package main всего лишь означает, что класс находится в пакете main и всё.

Если ты писал на AS2, то не понимаю, откуда такие вопросы возникают.

Старый 22.02.2007, 12:05
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 9  
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: 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
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 22.02.2007, 12:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
import в AS3 работает именно как импорт, т.е. зашивает всё-таки классы.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 03:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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