HOME>WEBプログラム覚書>[基礎]Action Script3.0 メモ 1

[基礎]Action Script3.0 メモ 1

だいぶ読んでないActionScript3の本が 溜まってきたので今月から手をつけようかと思います。

ActionScriptはまったくわからないのでとりあえず基礎から。

まずはこれ。

概要

  • ActionScript3はFlashPlayer9以上が必要。
  • ActionScript3はECMAScriptを基礎としている。 Javascriptとは兄弟みたいなもの。
  • ActionScript3はコンパイラ型とインタプリタ型の中間みたいな感じ。 コンパイル結果はマシン語ではなくActionScript Virtual Machineが 解析可能なバイナリとなる。
  • ActionScript3はコア言語とFlash Player APIの2つから構成されている。 コア部分はECMAScriptの仕様に準拠してる。

ActionScriptから制御可能なもの

  • ムービークリップ・シンボルのインスタンス
  • ボタン・シンボルのインスタンス
  • テキストフィールドのインスタンス

ムービークリップの主なプロパティ

ActionScriptでは多数のクラスが最初から用意されている。 基本的にObjectクラスをルートとした階層構造っぽくなっていて MovieClipクラスも様々なものを継承している模様

height:Number表示オブジェクトの高さを示します (ピクセル単位)。
width:Number表示オブジェクトの幅を示します (ピクセル単位)。
scaleX:Number基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
scaleY:Numberオブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
alpha:Number指定されたオブジェクトのアルファ透明度値を示します。
x親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
y親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。

クラスのリファレンス本が必要かな・・・

This

Flashのキーフレームにスクリプトを記述した場合、 thisはメインのタイムラインが参照される。

ターゲットの指定法

ムービークリップの中のムービークリップを指定する場合 .演算子で繋げればよい。

ActionScript3.0

  1. parentObject.childObject.height = 100;
  2.  

イベント

  1. addEventListener()を利用してオブジェクトにイベントハンドラとイベントリスナーを設定
  2. イベントリスナーを定義

ActionScript3.0

  1. addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
  2.  

addEventListener()はEventDispatcherクラスで定義されているので EventDispatcherクラスを継承しているもので利用できる。

参照サイト

イベントハンドラ名はjavascriptとは異なる。

MouseEvent

よく使いそうなMouseEventクラスで定義されてる定数

CLICK : String = "click"[static] click イベントオブジェクトの type プロパティ値を定義します。
DOUBLE_CLICK : String = "doubleClick"[static] doubleClick イベントオブジェクトの type プロパティ値を定義します。
MOUSE_DOWN : String = "mouseDown"[static] mouseDown イベントオブジェクトの type プロパティ値を定義します。
MOUSE_MOVE : String = "mouseMove"[static] mouseMove イベントオブジェクトの type プロパティ値を定義します。
MOUSE_OUT : String = "mouseOut"[static] mouseOut イベントオブジェクトの type プロパティ値を定義します。
MOUSE_OVER : String = "mouseOver"[static] mouseOver イベントオブジェクトの type プロパティ値を定義します。
MOUSE_UP : String = "mouseUp"[static] mouseUp イベントオブジェクトの type プロパティ値を定義します。
MOUSE_WHEEL : String = "mouseWheel"[static] mouseWheel イベントオブジェクトの type プロパティ値を定義します。
ROLL_OUT : String = "rollOut"[static] rollOut イベントオブジェクトの type プロパティ値を定義します。
ROLL_OVER : String = "rollOver"[static] rollOver イベントオブジェクトの type プロパティ値を定義します。

説明がよくわからない。

とりあえずaddEventListenerの第一引数にここら辺の値を渡すと実行できる。

イベントリスナー関数の中のthis

ActionScript3.0

  1. start_button.addEventListener(MouseEvent.CLICK, circleMove);
  2.  
  3. var i:int = 0;
  4.  
  5. function circleMove(event:MouseEvent):void
  6. {
  7.     circle01.x -= 10;
  8.  
  9.     if (i == 0) {
  10.         this_value.appendText(this.name);
  11.     }
  12.  
  13.     i++;
  14. }
  15.  

root1ってことはメインのタイムラインってことか。

テキストフィールドへのテキストの追加

+演算子を使うとFlashから警告がでる。appendText()より何倍も遅いとのこと

条件式のtrue or false

ActionScriptで条件式の結果がfalseとなるのは以下

  • 0
  • null
  • undefined
  • 空文字

クラスとパッケージ

ビルトインクラス
あらかじめ用意されてるクラス
カスタムクラス
自分で作ったクラス
コアクラス
ビルトインクラスに含まれるECMAScriptでも定義してあるクラス

クラスはいずれかのパッケージに属している。

トップレベル以外のクラスはインポートしないと利用できないが flashのフレームアクションに記述する場合、基本的なものは省略できる。

変数宣言時のデフォルト値

変数を初期化しない場合、デフォルト値として下記の値が設定される。

データ型 デフォルト値
Booleanfalse
int0
NumberNaN
Objectnull
Stringnull
uint0
宣言されていない (型注釈 * と同じ)undefined
ユーザー定義クラスを含むその他すべてのクラスnull
参照サイト
投稿日 2009年7月 3日 04:03
カテゴリ ActionScript
タグ Flash | 言語仕様
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1161

コメント

コメントする
Name
Email Address
URL