![]()
野中文雄のActionScript 3.0を使ってみよう
Flash Professional 9 ActionScript 3.0 Previewに実装されたActionScript 3.0は、2.0と同じくECMAScript 4に準拠します。したがって、スクリプトの文法は、ActionScript 2.0を発展させたものといえます。しかし同時に、クラスの構成やイベントの扱いが変わり、個々のプロパティやメソッドも細かな点で違いがあります。そのため、具体的にスクリプトを書く際には、「ActionScript 3.0 Language Reference」をよく調べないと、意図した動作が実現できない場合も少なくありません。そこで本講座では、従来のActionScript 1.0や2.0と比較しつつ、ActionScript 3.0の新たな考え方やこれまでと異なる点を解説します。
受講者全員に野中氏も執筆された 『 Flash プロフェッショナル・スタイル CS3対応 』をプレゼントいたします。
講座レベル![]()
■カリキュラム概要
- 1. ActionScript 1.0のフレームアクション
- 2. ActionScript 3.0の最小限のフレームアクション
- 3. ActionScript 3.0の標準的なフレームアクション
- 4. ActionScript 2.0クラス定義
- 5. ActionScript 3.0クラス定義
*カリキュラムの進度および内容は、受講者全員の理解度・習得度によって変更される場合があります。
- 使用アプリケーション
- Adobe Flash CS3
- 講師
- 野中文雄
- テキスト
- 『 Flash プロフェッショナル・スタイル CS3対応 』
- 定員
- 6名
- 対象
- ActionScriptの基礎を理解され、関数(function)を使用した経験がある方(ただし、ActionScript 2.0やクラスについての知識は、必ずしも前提とはしません)
本ページ下の 受講対象レベルチェック問題 を理解できる方 - 料金
- 29,800円(税込み)
■受講対象レベルチェック問題
*全問正解が受講の必須条件ではなく、受講対象レベルの具体的な目安とお考えください。
円の面積を求める関数xGetCircleArea()を定義してください。関数xGetCircleArea()に円の半径を渡すと、円の面積が返されます。たとえば、つぎのとおりです。
// 出力: 314.1592653589793
trace(xGetCircleArea(10));
上記「問 1)」で作成した関数xGetCircleArea()に、仕様を追加します。円の半径は正数でなければなりませんので、引数として負の数を渡したときは、特別な値NaNを返すようにしてください。たとえば、つぎのような結果になります。
// 出力: NaN
trace(xGetCircleArea(-10));
イベントハンドラメソッドMovieClip.onEnterFrameを使って、MovieClipインスタンスを回転するフレームアクションを作成してください。回転は時計回りで、速度は毎フレーム10度とします。スクリプトは、MovieClipシンボルの第1フレームアクションに記述します。
ActionScript 1.0で記述していますが、2.0の型指定を加えても構いません。
function xGetCircleArea(nRadius) {
var nCircleArea = nRadius*nRadius*Math.PI;
return nCircleArea;
}function xGetCircleArea(nRadius) {
var nCircleArea = Math.pow(nRadius, 2)* Math.PI;
return nCircleArea;
}ActionScript 1.0で記述していますが、2.0の型指定を加えても構いません。
function xGetCircleArea(nRadius) {
if (nRadius<0) {
return NaN;
}
var nCircleArea = nRadius*nRadius* Math.PI;
return nCircleArea;
}function xGetCircleArea(nRadius) {
if (nRadius<0) {
return NaN;
} else {
var nCircleArea = Math.pow(nRadius, 2)*Math.PI;
return nCircleArea;
}
}ActionScript 1.0で記述していますが、2.0の型指定を加えても構いません。
this.onEnterFrame = function() {
_rotation += 10;
};



