Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3 - изучаем вместе (http://www.flasher.ru/forum/showthread.php?t=70609)

john 18.10.2005 16:45

AS3 - изучаем вместе
 
Тема для тех кто хочет изучить новые возможности и поделиться информацией по новому языку ActionScript 3.

сразу выкладываю что стоит почитатать:

http://labs.macromedia.com/ -
EAP (Early Access Program) от макромедия по AS3 и Flex2

http://livedocs.macromedia.com/labs/...ref/index.html - Macromedia Flex 2.0 MXML and ActionScript Language Reference

http://www.cmyk.uz/blogger/?p=85 - прикольная статья от Constantiner

http://www.flashguru.co.uk/actionscr...-capabilities/ небольшой обзор "вкусностей" от Flashguru.co.uk

и опять же
http://labs.macromedia.com/
все там

Den0k 18.10.2005 17:11

надеюсь найти в этом топике много полезного

ещё ссылка по теме http://www.helpqlodhelp.com/blog/

nuran 18.10.2005 22:33

Подпишусь.

Штрек 19.10.2005 01:13

Ещё на русском /от Антареса/......

7thsky™ 20.10.2005 01:35

Код:

import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;

public class DataVariablesTest {
        private var searchRSS : String = "http://weblogs.macromedia.com/mxna/xml/rss.cfm";
        private var dataLoader : URLLoader;
        private var searchTerm : String = "macromedia";
       
        public function DataVariablesTest ()        {
                dataLoader : URLLoader = new URLLoader ();
                dataLoader : URLLoader.addEventListener ("complete", onRSSLoad);
                dataLoader : URLLoader.addEventListener ("securityError", onSecurityError);
       
                var urlVars : URLVariables = new URLVariables ();
                urlVars.query = "bySimpleSearch";
                urlVars.languages = "1";
                urlVars.searchTerms = searchTerm;
       
                var request : URLRequest = new URLRequest (urlString);
                request.urlVariables = urlVars;
                dataLoader : URLLoader.load (request);
        }
       
        private function onDataLoad (event : Event) : Void        {
                trace ("Raw Data : " + event.target.data);
        }
       
        private function onSecurityError (event : Event) : Void {
                trace ("Security Error : " + event);
        }
}

Выделенное как понять? понятно что команда на загрузку, но как понять с синтаксической точки зрения? или это очепятка (взято с сайта макромедии)

KidsKilla 20.10.2005 18:19

http://livedocs.macromedia.com/labs/...migration.html

ну вот...

Mokus 20.10.2005 19:01

Цитата:

Сообщение от 7thsky™
или это очепятка (взято с сайта макромедии)

Ето первая опечатка, что Ты нашел у Макромедии? Поверь - их в лайвдоках пруд-пруди.

7thsky™ 20.10.2005 19:49

нет очепятка не первая, просто до этого где я находил, там я точно знал синтаксис, а тут новое, думал может фича какая

artcraft 21.10.2005 01:20

faq:

Q:
как при помощи flex2 скомпилировать swf?

A:
элементарно: :~)
1. File > New > ActionScriptProgect
2. Назваем новый проект test1
3. Пишем код:
Код:

package {
        import flash.util.trace;
        import flash.display.MovieClip;
        public class test1 extends MovieClip {
                public function test1() {
                        trace("hello world!");
                }
        }
}

4. Кликаем на жука (Degug)
5. Созерцаем приветствие в окне Console

artcraft 21.10.2005 18:43

PNG Encoder in AS3

artcraft 21.10.2005 18:52

AS3 Music Controlled Visualization:
http://blixt.gotdns.com/blixt/postAssets/ASVisu.html
(для просмотра нужен fp8.5)

seifip 21.10.2005 23:12

cool - kde nashel??

artcraft 24.10.2005 01:53

faq:

Q:
как при помощи flex2 скомпилировать swf нужного размера и цвета?

A:
элементарно: :~)
Project > Properties > ActionScriptCompiler
в поле Additional compiler arguments: пишем
Код:

-default-background-color #FFFFFF -default-size 700 500
Apply > OK

про остальные параметры компилера можно почитать тут:
http://livedocs.macromedia.com/labs/...=00001191.html

john 25.10.2005 00:00

Цитата:

Сообщение от 7thsky™
Код:

                dataLoader : URLLoader = new URLLoader ();
                dataLoader : URLLoader.addEventListener ("complete", onRSSLoad);
                dataLoader : URLLoader.load (request);
}

Выделенное как понять? понятно что команда на загрузку, но как понять с синтаксической точки зрения? или это очепятка (взято с сайта макромедии)

помоему это namespaces -
http://livedocs.macromedia.com/labs/...html#namespace

john 25.10.2005 00:46

хотя нет, namespace - это из другой оперы....
загадочно...

я видел такой вариант -
вместо

var test:Type = new Type(123);

вот так -

var test:Type(123);

artcraft 29.10.2005 17:28

ActionScript 3.0 collection 58 sites
http://www.franto.com/blog2/collecte...pt-30-examples

Mokus 31.10.2005 18:23

У меня пару вопросов родились, может кто знает ответы (или догадываеться).

1. Как взаимодействуют две виртуальные машины AVM1 и AVM2??? (и взаимодействуют ли вообще?) Возможно ли паралельное использование АС2 (АС1) и АС3 в одном проекте?
2. Будет ли реализована компиляция АС3 в код для AVM1???
3. Будут ли переписаны под АС3 библиотеки макромедиа (mx, remoting... - если чесно их давно пора переписать, хотя бы изза того, что код у них хреновый)???

Вообще то вопросов еще туча, но ответы на ети интересуют больше всего. Если кто ответит буду фантастически признателен.

john 31.10.2005 19:14

1. думаю наверняка да.. когда подгружаешь внешний swf, он по логике может работать в отдельной виртуальной машине.
2. думаю вряд ли.
3. ремоутинг отднозначно, только формат сообщений уже будет другой, а mx - что конкретно? контролы уже новые, а что там осталось такого что нужно переносить?

Mokus 31.10.2005 19:39

Цитата:

Сообщение от john
1. думаю наверняка да.. когда подгружаешь внешний swf, он по логике может работать в отдельной виртуальной машине.
2. думаю вряд ли.
3. ремоутинг отднозначно, только формат сообщений уже будет другой, а mx - что конкретно? контролы уже новые, а что там осталось такого что нужно переносить?

1. Согласен. Но ето рождает кучу новых вопросов:
1.а) как будет выглядеть обещанный супер-модный дебаг при использовании двух виртуальных машин?
1.б) как будет выглядеть обработка исключений?
1.в) передача евентов между разными в.м. (совсем ж разные событийные модели).
можно придумать еще кучу вопросов но все они в том же ключе. И все они сводятся не к вопросу "возможно ли ето?" а к "не потеряем ли мы преимуществ АС3 при использовании его совместно с АС2?"
2. Ну ето все-таки возможно. Ето был-бы переход аналогичный переходу с АС1 на АС2.

john 31.10.2005 19:54

1.а) как будет выглядеть обещанный супер-модный дебаг при использовании двух виртуальных машин?

думаю для AS2 - никак, только для AS3

1.б) как будет выглядеть обработка исключений?

думаю исключения можно будет перехватывать только в пределах одной виртульаной машины

1.в) передача евентов между разными в.м. (совсем ж разные событийные модели).


тоже зачем?

вообще все это гадание на кофейной гуще, в любом случае, единственный случай когда бы я использовал старые файлы в новых проктах - это то, что старые делал не я, а использовать я их должен (например старые анимационные клипы или же игры, а "обертка" новая). А так - лучше все равно переписать, либо оставаться на старой платформе.

seeker2005 01.11.2005 06:06

Видел реализацию плейера от макромедии в сишном коде...
на самом деле, складывается впечатление, что Макромедиа будет рендерить картинку не просто софтово, а уже с использованием аппаратных возможностей ускорителей... Нет другой объективной причины значительного прироста производительности (около порядка по заверениям Компании)

С этой точки зрения внутренний механизм виртуальной машины не изменится значительно, просто выкинутся часть функций, которые не нужны, ну и будет добавлена поддержка дебага...

Да и с точки зрения веса плейера - Макромедиа открыто говорит, что формат png не поддерживался в связи с тяжелым размером библиотеки... В новой версии плейера сделана поддержка png, но если посмотреть описание, достаточно урезанная... Следовательно и раздувать плейер до двух виртуальных машин никто не будет...

john 01.11.2005 13:47

Цитата:

Сообщение от seeker2005
Видел реализацию плейера от Нет другой объективной причины значительного прироста производительности (около порядка по заверениям Компании)

несколько странное замечание - это не заверение - это свершившийся факт - восьмой плеер уже полтора месяца как вышел, и десятикратный прирост производительности при отображении графики - свершившийся факт, повторюсь, а не "заверение Компании" :)

john 01.11.2005 13:50

Цитата:

Сообщение от seeker2005
С этой точки зрения внутренний механизм виртуальной машины не изменится значительно, просто выкинутся часть функций, которые не нужны, ну и будет добавлена поддержка дебага...

опять же мне не совсем понятен данный пост - есть альфа версия плеера, которая действительно показывает значительный прирост производельности кода. понять улучшения можно не только простматривая исходный код... кстати исходный код 8.5?

seeker2005 01.11.2005 13:52

К сожалению не имел счастья погонять на производительность новый плейер, потому и оперирую только тем, о чем оффициально объявила Макромедиа...

Исходный код - 5 версии, к сожалению, Макромедиа не распространяет исходники плейера. У Компании есть исходники 6 версии, но они только даются по лицензионному соглашению с достаточно неуютными условиями, к тому же Макромедиа не торопится работать с российскими компаниями, в том числе и дилерами по данному вопросу. По официальному письму от компании Макромедиа был также получен ответ, что "Политика Компании не предполагает поддержку плейера (имеется ввиду плейер, а не плагин) под платформы, отличные от MacOS и Windows.

Что касается поста - господином Mokus был задан вопрос с просьбой сказать конкретно или высказать предположения по работе двух виртуальных машин под одним плейером. К этому посту и был дан ответ, исходя из тех сведений, которыми обладаю.
Есть документы, описывающие формат файла версии 5 и 7

SamTakoy 01.11.2005 14:28

Цитата:

Сообщение от john
несколько странное замечание - это не заверение - это свершившийся факт - восьмой плеер уже полтора месяца как вышел, и десятикратный прирост производительности при отображении графики - свершившийся факт, повторюсь, а не "заверение Компании" :)

У меня дома Pentium I, 500 MHz. Делал аркадную flash игру. На 7м плейере она показывала 6.9 fps.
Прослышал про супер-многократно-возросшую производительность 8 плейера и радостный полез его качать на Макромедию (версия 8.5).

Скачал, установил, запускаю - те же 6.9 fps.

:((((((

seeker2005 01.11.2005 14:36

Цитата:

Сообщение от SamTakoy
У меня дома Pentium I, 500 MHz. Делал аркадную flash игру. На 7м плейере она показывала 6.9 fps.
Прослышал про супер-многократно-возросшую производительность 8 плейера и радостный полез его качать на Макромедию (версия 8.5).

Скачал, установил, запускаю - те же 6.9 fps.

:((((((


А видео карта какая?

john 01.11.2005 14:45

ну супер-пупер производительность будет
a. графика использует bitmap cashing.
b. код написан на AS3

SamTakoy 01.11.2005 14:46

Цитата:

Сообщение от seeker2005
А видео карта какая?

Точно не помню, примерно такая:

NVIDIA GeForce4 MX 440/460 с 64 МБ памяти

SamTakoy 01.11.2005 14:55

Цитата:

Сообщение от john
ну супер-пупер производительность будет
a. графика использует bitmap cashing.
b. код написан на AS3

Опять же, делал тестовую флешку на Flash 8. Там просто тяжелый мувиклип двигался вверх-вниз.
При включении галочки cashing (или как она называется - не помню) наблюдался прирост менее чем в 1.5 раза, но никак не в 10.

seeker2005 01.11.2005 14:55

Цитата:

Сообщение от john
ну супер-пупер производительность будет
a. графика использует bitmap cashing.
b. код написан на AS3

В таком случае, корректнее сравнивать версии 8.0 и 8.5, где уже реализованы механизмы кеширования картинок. Но тогда не понятна разница между AS2.0 и AS3.0 в данном отношении (а следовательно AS1.0)

Имхо, весь AS3.0 по большому счету задумывается только для того, чтобы дать нормальный механизм отладки и контроль типов при компиляции. Все остальное как было на AS1.0, так и останется... По другому сложно сделать "переносимость" двух разных виртуальных машин не "раздув" при этом размер плейера... Ну и ко всему прочему фишечки-фенечки добавить, для красоты, чтобы не совсем в глаза кидалось, что все это одно и тоже...

seeker2005 01.11.2005 14:57

Цитата:

Сообщение от SamTakoy
Опять же, делал тестовую флешку на Flash 8. Там просто тяжелый мувиклип двигался вверх-вниз.
При включении галочки cashing (или как она называется - не помню) наблюдался прирост менее чем в 1.5 раза, но никак не в 10.


Кеш корректно работает только для объектов, которые практически не испытывают изменений (в общем то для статики)

SamTakoy 01.11.2005 15:10

Цитата:

Сообщение от seeker2005
Кеш корректно работает только для объектов, которые практически не испытывают изменений (в общем то для статики)

А зачем мне статичную картинку рисовать с адскими fps, мне 12 fps для статики хватит, а то и меньше.

Mokus 01.11.2005 15:48

Цитата:

Сообщение от seeker2005
В таком случае, корректнее сравнивать версии 8.0 и 8.5, где уже реализованы механизмы кеширования картинок. Но тогда не понятна разница между AS2.0 и AS3.0 в данном отношении (а следовательно AS1.0)

Вообщ дискусия была про производительность AVM. При чем здесь кеширование битмапок и графика - хоть убей не пойму.

Цитата:

Сообщение от seeker2005
Имхо, весь AS3.0 по большому счету задумывается только для того, чтобы дать нормальный механизм отладки и контроль типов при компиляции.

Вообще не при компиляции а в рантайм.

Цитата:

Сообщение от seeker2005
Все остальное как было на AS1.0, так и останется... По другому сложно сделать "переносимость" двух разных виртуальных машин не "раздув" при этом размер плейера... Ну и ко всему прочему фишечки-фенечки добавить, для красоты, чтобы не совсем в глаза кидалось, что все это одно и тоже...

Все "фишечки-фенечки" добавили во Флеше 8. Новая версия призвана удовлетворить программистов.

Народ, тема ИНТЕРЕСНАЯ и тема про АС 3. Прошу не раздувать ее размышлениями про то сколько у кого фпс на каком проце. И просьба не писать сюда при ПОЛНОМ непонимании вопроса.

artcraft 08.11.2005 02:28

Mokus так всех отшил, что тема заглохла :~)

Mokus 09.11.2005 20:26

Давайте обсуждать дальше:
в АС3
var a:TestClass = new TestClass();
var b:TestClass2 = new TestClass2();
trace(a == b);
трейсит false. Но какого извините он ваще чето трейсит, если должен по всем правилам быть еррор при чем еще при компиляции???
или
trace(typeof(a));
почему дальше "object"???

В догонку заглохшей дискусии: нашел клас flash.util.AS2Interop, который вроде пока пустой. так что со связью АС1/2 и АС3 не все просто. По крайней мере автоматического маршалинга вероятно не будет.

Кто че думает по етому поводу??? Что Ты John думаеш по етому поводу?

KidsKilla 09.11.2005 20:35

var a:TestClass = new TestClass();
var b:TestClass2 = new TestClass2();
trace(a == b);

тут никаких эрроров.
он те вполне внятно отвечает, что а и б разные штуки.

KidsKilla 09.11.2005 20:38

trace(typeof(a));
видимо не может он определить чтож это за класс. хотя бы потому что есть наследования...
чесговоря не совсем в курсе, но для этого есть instanceof toString и valueOf.

Mokus 09.11.2005 21:09

Цитата:

Сообщение от KidsKilla
тут никаких эрроров.
он те вполне внятно отвечает, что а и б разные штуки.

Мужик, ты писал на чем то кроме АС?

Цитата:

Сообщение от KidsKilla
trace(typeof(a));
видимо не может он определить чтож это за класс.

видимо не может, если б мог, то он бы мне видимо не писал object, а я б видимо не постал ето на форуме.
Цитата:

Сообщение от KidsKilla
хотя бы потому что есть наследования...
чесговоря не совсем в курсе, но для этого есть instanceof toString и valueOf.

Наследования нет и наследование тут нипричем. instanceof toString и valueOf тут тем более нипричем. И вобще к чему ето?

john 09.11.2005 21:11

Цитата:

Сообщение от Mokus
Что Ты John думаеш по етому поводу?

а попробуй === ? к сожалению сейчас сам не могу попробовать.

john 09.11.2005 21:20

думаю typeof либо недоделаный либо толкают использовать конструкции вида -

describeType(obj).class


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

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