TOPページ > カテゴリ別表示 : ActionScript3.0

本文開始▼

ActionScript3.0 アーカイブ

2008年06月24日

Flash OOP for ActionScript 3.0 がついに発売!

ついに知る人ぞ知るFlash OOP本の新作が登場しますね。
その名も『FLASH OOP for ActionScript 3.0』。発売日は7月2日だそうです。

前作『FLASH OOP (Advanced Web design books)』を読んでない方はこちらも是非。

両者とも趣が違うみたいなので、Flashユーザーは両方買うべし。ちなみに、OOP(オブジェクト指向プログラミング)とありますが、OOP入門者向けではなく、ある程度OOPに慣れた人向けの本です。一通りコンテンツは作れるんだけど、さらに上を目指したいって人は是非。
ちなみにこれらの本は中村勇吾氏やコリン・ムック氏のお墨付きです。

2007年04月07日

Flash Professional 9 ActionScript 3.0 Previewを入れてみた

今さらながらFlash8を買ってしまったので、Flash8ユーザーのみが無料入手できるFlash Professional 9 ActionScript 3.0 Previewダウンロードしてみた。どういうものかというと、flash8をベースにactionscript部分のみが次期バージョン(3.0)に対応しているといった具合(ただし、インターフェイスは英語になっている)。

使い方はパブリッシュの設定でactionscriptバージョン項目を3.0に指定するだけでOK。他はflash8と変わりなし。リリースされたのが結構前ということもあってか、as3.0のコードヒントが中途半端ですね。特にasファイルのエディタ関してはコードヒントは無いに等しいのでメイン側のエディタで記述してからasファイルにコピペしたほうがよさげ。

とりあえず、as3.0でオブジェクト指向プログラミングをする場合の最も簡単な例をあげます。この例ではメインのタイムラインには何も記述せずasファイルだけでプログラムを動作させています。


package {
	import flash.display.*;
	import flash.text.TextField;

	public class HelloWorld extends Sprite
	{
		public function HelloWorld()
		{
			var txt:TextField =new TextField();
			txt.text ="123";
			addChild(txt);
		}
	}
}

まずpackage。これはas3.0でclassファイルの記述する場合必須となります。classファイルはpackage(ディレクトリのようなもの)で管理されます。

次にimport。これは他のクラスを読み込む際に利用します。ちなみにflash.displayパッケージにはSpriteMovieClip等表示に関するクラスが含まれています。サンプルでは*(ワイルドカード)を使用しているのでflash.displayパッケージ内すべてのクラスを読み込んでいます。

今回はメインタイムラインに一切手を加えずflashを動作させるということなので、swfの実行時に自動的にclass実行させる必要があります。これはas3.0からの機能です。ステージのプロパティでDocument classという項目に実行させたいクラス名(例:HelloWorld)を入力します。これでルートにHelloWorldクラスが関連付けられます。 それに加え、classファイルのpublic class HelloWorld extends Sprite{}の部分ですね。publicextends Spriteが肝となります。publicはルートからのアクセスを許可し、Spriteクラスは画面表示の基盤となります。どちらかが欠けていても動作しません。(ただし必ずしもSpriteである必要は無くSpriteクラスを継承しているクラス(MovieClipクラス等)であれば実行可能)これでswf実行時にHelloWorldクラスコンストラクタが実行されます。

TextFieldクラスはas2.0と同じなので省略します。

最後にaddChildメソッド。addChildメソッドを使用しSpriteクラスやMovieClipクラス等(コンテナ)にtxtを吊るすことで表示させます。

とこんな感じでだいぶ殴り書きっぽくなりましたが、一応自分用ンのメモと言うことで。。。

2007年04月03日

asで描画の基本となるクラスといえばMovieClipですが…

as2.0では描画の基本となるクラスはMovieClipクラス(メインタイムライン自体がMovieClip)でしたが、as3.0からはスクリプトオンリーでflashを作成出来るようになったため、動作の重いMovieClipを必要がなくなりました。

しかし、MovieClipを使わないにしろ、描画の土台となるクラスが必要です。そのクラスがSpriteクラスです。機能としては、MovieClipクラスからタイムラインを取り除いた感じですかね。スクリプトメインのFlashコンテンツではMovieClipクラスに変わりSpriteクラスが基盤となるとのこと。ちなみに、MovieClipクラスはSpriteクラスのサブクラスです。

さらにはSpriteクラスからマウスイベントなどを取り除いたスーパークラスであるDisplayObjectクラスがあります。このクラスが描画の基本になります。また、DisplayObjectクラスのサブクラスに、ビットマップグラフィックを表示させるBitmapクラス、ベクターグラフィックを表示させるShapeクラスがあります。

そんな感じで、MovieClipに依存しなくなったというのがas3.0が高速である最大の理由なんでしょうね。(もはや、プログラミング初心者には手に負えませんが。。。汗

本文終了▲