Вопрос по flash, actionscript-3, actionscript-2, platform, frameworks – Возможности Flash ActionScript 3 отсутствуют в ActionScript 2

1

С тех пор как Adobe представила ActionScript 3 с Flash Player 9, многие из нас не спешили переключаться. Короче говоря, я хотел бы знать, что может делать AS3 в качестве фреймворка, что просто невозможно или значительно сложно в AS2. Я говорю не о готовых компонентах, а о встроенных классах, таких как удаленное взаимодействие через Интернет, обработка двоичных данных, обработка XML и т. Д.

Ваш Ответ

5   ответов
2

Большой плюс это скорость.AS3 намного быстрее, чем AS2, Это, очевидно, позволяет выполнять более интенсивное кодирование / анимацию.

Тогда также существует аргумент, что все новое, что вводится (встроенное в 3D, пиксельное изгибание и т. Д.), Нацелено на AS3, поэтому, если вы придерживаетесь AS2, вы уже на 3 года или около того позади режущая кромка ".

1

Помимо перехода к более приближенному к Java-подходу (более строгому), одной из многих недостающих вещей является возможность превратить сцену в растровое изображение. Вы можете лучше контролировать, где находятся видеоклипы, используя список отображения. Примером может быть, если клип A содержит клип B, вы можете с помощью кода переставить B так, чтобы он содержал A. Существует множество подобных вещей, которые обеспечивают гораздо больший контроль. XML проще в использовании, а обработка событий более соответствует современным языкам. Одной из интересных особенностей является возможность отправки массива байтов в сценарий на стороне сервера, который позволяет сохранять файлы jpg, gif и png на сервер непосредственно из флэш-памяти.

Есть еще примеры, но я пока не могу вспомнить ни одного

2

Как список:

  • Local load & save
  • flash.text.engine and all its new capabilities (its quite big)
  • native 2.5D (Matrix3D, PerspectiveProjection, etc)
  • custom URL Requests
  • Binary data Manipulation (it was quite trivial in AS2)
  • "Fast" Bitmap Manipulation (it allows much more than AS2)
  • Custom Filters (Pixel Bender)
  • the new drawing API has a few new capabilities
  • E4X XML
  • Alchemy
  • Inversed Kinematics
  • DRM media (not sure if it was possible in AS2)

Я, наверное, забыл немало ...

Error: User Rate Limit Exceeded Robinicks
1

Питер Элст имеет хорошийвидео подкасывведение функций, доступных в ActionScript3

3

ну, на самом деле, AS3 - это язык, а не фреймворк ... у API флеш-плеера есть фреймворк, похожий на черты ... но хорошо, давайте не будем спорить о терминологии ... так что круто во флеш-плеере 9 (другое чем то, что уже упоминалось)?

  • a couple of language features making your life A LOT easier : method closures (no need for Delegate), optional arguments (saves a lot of time compared to AS2 optional arguments, which are rather a hack), instance scope resolution (you can access members of an instance from within an anonymous function declared in a method of that instances, so no need for var self = this;)
  • general API design : API is much cleaner, sensibly packaged, has constants properly defined (in many classes like flash.filters.BitmapFilterType), and exposes quite a lot more things, and offers proper error handling
  • package flash.net:
    • Socket: real sockets, instead of XML sockets ... this allows any TCP based protocol to be implemented
    • URLStream: this is actually quite powerfull, but personally, i always use sockets instead
  • package flash.display: much cleaner, much more consistent, much more granular (and thus reducing overhead) ... also, you can finally take objects away off the display list, change their parent etc. ... input events are no longer handled through one single callback (which sometimes is a hell of a limitation), they are triggered in a sensible manner (on objects, that have focus), they are triggered in nested InteractiveObjects ... and then event bubbling on the display list ...
    • Loader::loadBytes: allows to generate swf at runtime with ActionScript and load them into the player directly, as well as manual caching
    • Stage::frameRate: finally, you can change it at runtime
    • DisplayObject::getBounds & DisplayObject::getRect: much better, than fiddling around with this incredibly stupid return value of the AS2 equivalent ...
  • package flash.events: partially mentioned above, in conjuction with the DisplayObjectModel, it is much cleaner, much more powerful, very reusable ... well done, really ...
  • package flash.utils:
    • ByteArray: manipulation of binary data in reasonable time ... this allows JPG or PNG compression, PDF creation on client side, and so on
    • Dictionary: allows mapping objects to objects ... this can come in very handy (you could hack that into AS2, but that wasn't your question, right?) ... for example, this is great for creating sets, or mapping objects to handlers, etc.
    • Proxy: the proxy class is so damn powerful and so much fun to play with, really ... use it for proxies, collections, AOP, etc. ...
    • Timer: ok, now this can quite easily be reimplemented in AS2, but apart from that, i think it's much cleaner than fiddling arount with setInterval ...
  • package flash.text:
    • TextField: much bigger API, allows many cool things, as getting character/line metrics, etc. ...
    • Font.registerFont: allows embedding fonts at runtime
    • overall design is much cleaner and powerful
  • package flash.sampler: this is REALLY helpful, when trying to find bottlenecks
  • package flash.media: much better API, notably SoundChannel and SoundTransform are really helpful ...

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

я думаю, это об этом ...

Greetz

back2dos

Похожие вопросы