Adobe が Flash Player 9 で ActionScript 3 を導入して以来、私たちの多くは移行に時間がかかりました。要するに、フレームワークとして AS3 ができることを知りたいのですが、それは AS2 では単に不可能または非常に困難です。既製のコンポーネントについて話しているのではなく、Web リモート処理、バイナリ データ操作、XML 処理などの組み込みクラスについて話しているのです。
5 に答える
3
実際、AS3 はフレームワークではなく言語です... Flash Player API にはフレームワークのような特徴があります... しかし、用語について議論することはやめましょう ... では、Flash Player 9 の何がクールなのか (すでに述べた)?
- あなたの人生をより簡単にするいくつかの言語機能:メソッドクロージャー(デリゲートは必要ありません)、オプションの引数(むしろハックであるAS2のオプション引数と比較して多くの時間を節約します)、インスタンススコープの解決(メンバーにアクセスできますそのインスタンスのメソッドで宣言された無名関数内からインスタンスを取得するため、var self = this;) は必要ありません。
- 一般的な API 設計: API はよりクリーンで、適切にパッケージ化されており、( のような多くのクラスで
flash.filters.BitmapFilterType
) 定数が適切に定義されており、さらに多くのものを公開し、適切なエラー処理を提供します。 package flash.net
:Socket
: XML ソケットの代わりに実際のソケット ... これにより、任意の TCP ベースのプロトコルを実装できますURLStream
: これは実際には非常に強力ですが、個人的には、代わりに常にソケットを使用しています
package flash.display
: よりクリーンで、より一貫性があり、よりきめ細かく (したがって、オーバーヘッドが削減されます) ... また、最終的にオブジェクトを表示リストから削除したり、親を変更したりできます ... 入力イベントは1 つの単一のイベントでは処理されなくなりましたコールバック (これは非常に大きな制限となる場合もあります)、それらは賢明な方法で (フォーカスのあるオブジェクト上で) トリガーされ、ネストされたInteractiveObject
s でトリガーされます ... そして、表示リストでイベントがバブリングします ...Loader::loadBytes
: ActionScript を使用して実行時に swf を生成し、それらをプレーヤーに直接ロードしたり、手動でキャッシュしたりできます。Stage::frameRate
: 最後に、実行時に変更できますDisplayObject::getBounds
&DisplayObject::getRect
: AS2 に相当するこの信じられないほど愚かな戻り値をいじるよりもはるかに優れています ...
package flash.events
: 上で部分的に述べましたが、DisplayObjectModel と組み合わせることで、はるかにクリーンで、はるかに強力で、非常に再利用可能です...よくできました、本当に...package flash.utils
:ByteArray
: 妥当な時間でのバイナリ データの操作 ... これにより、JPG または PNG の圧縮、クライアント側での PDF の作成などが可能になります。Dictionary
: オブジェクトからオブジェクトへのマッピングを許可します ... これは非常に便利です (AS2 にハックすることもできますが、それは問題ではありませんでしたね?) ... たとえば、これはセットの作成やオブジェクトのマッピングに最適ですハンドラーなどにProxy
: プロキシ クラスは非常に強力で、とても楽しく遊べます。実際に ... プロキシ、コレクション、AOP などに使用してください ...Timer
: OK、これは AS2 で非常に簡単に再実装できるようになりましたが、それを除けば、いじるよりもはるかにクリーンだと思いますsetInterval
...
package flash.text
:TextField
: はるかに大きな API で、文字/行のメトリックの取得など、多くの優れた機能を使用できます ...Font.registerFont
: 実行時にフォントを埋め込むことができます- 全体的なデザインははるかにクリーンで強力です
package flash.sampler
: これは、ボトルネックを見つけようとするときに非常に役立ちます。package flash.media
: API が大幅に改善されました。特にSoundChannel
、SoundTransform
非常に役立ちます ...
イベントモデルと表示リストは、追加のパフォーマンスコストでAS2に再実装できることに注意してください。しかし、それは組み込み機能に関するものだったと思います...
私はそれについてだと思います...
挨拶
back2dos
于 2009-07-19T06:00:24.760 に答える
2
大きなプラスはスピードです。 AS3はAS2よりもはるかに高速です。これにより、より集中的なコーディング/アニメーション化が可能になります。
次に、導入されるすべての新しいもの(3Dで構築、ピクセルベンダーなど)はAS3を対象としているという議論もあります。したがって、AS2に固執している場合は、すでに「最先端」から3年ほど遅れています。 。
于 2009-07-12T19:17:28.393 に答える
2
リストとして:
- ローカルロード&セーブ
- flash.text.engine とそのすべての新機能 (非常に大きい)
- ネイティブ 2.5D (Matrix3D、PerspectiveProjection など)
- カスタム URL リクエスト
- バイナリデータの操作 (AS2 では非常に簡単でした)
- 「高速な」ビットマップ操作 (AS2 よりもはるかに多くの操作が可能)
- カスタム フィルター (Pixel Bender)
- 新しい描画 API にはいくつかの新しい機能があります
- E4X XML
- 錬金術
- 逆運動学
- DRM メディア (AS2 で可能かどうかは不明)
結構忘れてるかも…。
于 2009-07-13T11:26:09.400 に答える
1
Peter Elst が、ActionScript3 で利用可能な機能を紹介する素敵なビデオ ポッドキャストを公開しています。
于 2009-07-16T22:51:10.223 に答える