ActionScript 3.0の概要

ActionScript 3.0とは アニメーションを簡単に制作したり、サウンドや動画を組み込むことができて、そのすべてが制御できるインタラクティブ(対話性)でステキなものと言えば、あなたはまず何を思い浮かべるでしょうか?

加茂 雄亮

2008年6月2日 20:00

ActionScript 3.0とは

 アニメーションを簡単に制作したり、サウンドや動画を組み込むことができて、そのすべてが制御できるインタラクティブ(対話性)でステキなものと言えば、あなたはまず何を思い浮かべるでしょうか?

 Adobe Flash CS3 Professional(以下Flash)は、米国アドビ システムズ社(旧Macromedia社、以下Adobe)が開発したコンテンツ制作ソフトです。

 ActionScriptとは、Flashコンテンツにおけるアニメーションの制御やインタラクティブなコンテンツを開発するためのスクリプト言語です。Flash IDEの進化に伴いActionScriptも進化し、2006年にはActionScript 3.0が発表され、より厳密にECMAScript(ECMA-262)規格に準拠したクラスベースのオブジェクト指向言語として生まれ変わりました。その結果、複雑で大規模なコンテンツを柔軟に開発することが可能になりました。

 ActionScript 3.0で開発されたFlashコンテンツは、Flash Player 9以降で再生可能です。バージョン9未満のFlash Playerでは実行できません。2008年3月時点のFlash Playerバージョン別普及率によると、Flash PlayerがインストールされているPCの98.0%が、バージョン9以上であると発表されています。

 Flashコンテンツの開発環境は、Flash CS3やFlex Builderが挙げられます。前者はデザイナー向け、後者はデベロッパー向けと言えるでしょう。Adobeにおいて無償で配布されているFlex SDKをコンパイラとして使用すれば、コストをかけずに開発することも可能です。

 本連載ではActionScript 3.0の基本的な記述方法を中心に学んでいきたいと思います。

ActionScript 1.0/2.0と3.0の違い

 大幅に進化を遂げたActionScriptですが、従来のバージョンとの主な変更点を5つ紹介します(図1)。

 1つ目は、「新しいイベントモデルへの統一」です。ActionScript 1.0/2.0ではボタンやムービークリップに直接イベントハンドラを記述するonClipEvent()やon()に代表されるオブジェクトアクションなど、イベント処理が複数ありましたが、それらはすべて廃止され、DOM Level 3 Events Model仕様に準拠されました。

 2つ目は、「最大10倍の実行速度」です。新しいActionScript仮想マシン(AVM2)を実装することにより、パフォーマンスが向上しました。従来のバージョン(Flash Player 8以下におけるActionScript 1.0/2.0コンテンツ)よりも最大約10倍程度高速化されています。

 3つ目は、「XML操作の効率化」です。XMLオブジェクトを扱うクラスが一新され、ECMAScript for XML(E4X)仕様(ECMA-357 Edition 2)に基づくXML APIが実装されました。これにより、煩雑だったXMLの解析や処理を効率的に行うことができるように改善されました。

 4つ目は、「表示アーキテクチャの変更」です。ActionScript 3.0では、すべてのオブジェクトが表示リストと呼ばれるStageオブジェクトを頂点としたツリー構造によって管理されています。オブジェクトを表示させるには、この表示リストに登録しなければなりません。

 5つ目は、「統一されたインスタンスの生成」です。MovieClipにおけるインスタンスの生成方法もがらっと変わっています。例えば2.0までのMovieClipインスタンスを生成する方法として、attachMovie()がありました。 ActionScript 3.0ではこのメソッドは廃止され、MovieClipインスタンスはほかのオブジェクトと同様、newキーワードを使用し任意のクラスをインスタンス化することにより生成することが可能になりました。これは、本来のあるべき書式になったと言えます。サンプルのソースコードは下記になります。

var mc:MovieClip = new MovieClip();

 次に簡単なサンプルをご紹介しましょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30