Workshop

野中文雄の応用力に差をつけるActionScript数学講座

※本講座は大幅に講座内容を変更し、新講座「 野中文雄の数学的思考で取り組むActionScript中級講座 」としてリニューアルいたしました。また、Flash CS4/Flash Player 10より加わった3D 表現を重点的に学習する講座「 野中文雄のFlash CS4 3D講座 」も追加されました。詳しくは新講座情報をご覧ください。

スクリプトでアニメーションを作成しようとすると、数学や物理学の知識がよく必要となります。そういうとき、すぐに公式を探そうとする人が少なくありません。けれど、都合のいい公式がいつも見つかるとはかぎりません。また、単純に公式を適用しただけでは、意図した動作ができないこともあります。

たとえば、アニメーターが描く動きというのは、もちろん現実の世界の観察にもとづきます。しかし、厳密にその動きを再現するとはかぎらず、ときにはデフォルメすることにより「らしさ」を表現することもあります。つまり、動きを再現するうえで重要な部分と、そうでない部分を見極めて描写する必要があるのです。数学や物理学の方程式も同じことです。単純に公式を覚えて適用するだけでなく、その原理や考え方を理解して、応用しなければなりません。

本講座は、アニメーションを扱ううえで重要な座標空間に関わる、数学の基本的な項目を学習します。とくに後半は、高校文系の数学の知識では理解しにくい、行列とMatrixおよびMatrix3Dクラスについて解説します。

Get Adobe Flash player

※講座内容の応用例です。講座では、立方体1面の扱いを中心として、スクリプトの仕組みと考え方を解説し作成いたします。

スクリプティングよりも、数学的な説明が中心です。スクリプトは、ActionScript 3.0を使い、イベントリスナーの扱いを理解していることが前提となります。

数学の知識については、高校文系程度で結構です。スクリプトはActionScript 3.0を使い、イベントリスナーの扱いや条件判定を理解していることが前提となります。

受講者全員に野中氏の書籍『 ActionScript 3.0プロフェッショナルガイド 』をテキストとしてプレゼントいたします。

講座レベルlevel3

■カリキュラム概要

  • 三平方(ピタゴラス)の定理

    • 三平方の定理とは
    • 三平方の定理の証明
  • 三角関数

    • cos(コサイン)とsin(サイン)
    • 円と楕円の方程式
    • ラジアン
    • tan(タンジェント)とtan-1(アークタンジェント)
    • 座標軸の方向について
  • ベクトル

    • ベクトルとスカラー
    • ベクトルの絶対値とスカラー倍および単位ベクトル
    • ベクトルの和と差
    • ベクトルの内積
  • 行列と座標変換

    • 行列とは
    • 行列のスカラー倍と足し算・引き算
    • 行列の掛け算
    • 変換行列とMatrixクラス
    • Matrix3Dクラスにおける変換行列の扱い

*カリキュラムの進度および内容は、受講者全員の理解度・習得度によって変更される場合があります。

使用アプリケーション
Adobe Flash CS4
講師
野中文雄
テキスト
ActionScript 3.0プロフェッショナルガイド
定員
6名
対象
ActionScript 3.0のイベントリスナーの扱いを学習された方。
林拓也のActionScript 3.0入門講座(後半) 」を受講された方。
料金
29,800円(税込み)

現在の募集はありません。最新情報はメールマガジン、RSSで配信しておりますのでぜひご確認ください。

受講希望の方は 受講規約 および よくある質問 のページを閲覧していただき、ご了承の後にお申し込みフォームからお申し込みください。また お申し込みの流れ もご参照ください。

■受講対象レベルチェック問題

*全問正解が受講の必須条件ではなく、受講対象レベルの具体的な目安とお考えください。

問1:

円の面積を求める関数xGetCircleArea()を定義してください。関数xGetCircleArea()に円の半径を渡すと、円の面積が返されます。たとえば、つぎのとおりです。

trace(xGetCircleArea(10));
// 出力: 314.1592653589793

問2:

上記「問 1」で作成した関数xGetCircleArea()に、仕様を追加します。円の半径は正数でなければなりませんので、引数として負の数を渡したときは、特別な値NaNを返すようにしてください。たとえば、つぎのような結果になります。

trace(xGetCircleArea(-10));
// 出力: NaN

問3:

DisplayObject.addEventListener()メソッドを使って、MovieClipインスタンスを回転するフレームアクションを作成してください。回転は時計回りで、速度は毎フレーム10度とします。スクリプトは、MovieClipシンボルの第1フレームアクションに記述します。

答1:

ActionScript 1.0で記述していますが、2.0の型指定を加えても構いません。

(A)
function xGetCircleArea(nRadius:Number):Number {
	var nCircleArea:Number = nRadius * nRadius * Math.PI;
	return nCircleArea;
}
(B)
function xGetCircleArea(nRadius:Number):Number {
	var nCircleArea:Number = Math.pow(nRadius, 2) * Math.PI;
	return nCircleArea;
}

答2:

(A)
function xGetCircleArea(nRadius:Number):Number {
	if (nRadius < 0) {
		return NaN;
	}
	var nCircleArea:Number = nRadius * nRadius * Math.PI;
	return nCircleArea;
}
(B)
function xGetCircleArea(nRadius:Number):Number {
	if (nRadius < 0) {
		return NaN;
	} else {
		var nCircleArea:Number = Math.pow(nRadius, 2) * Math.PI;
		return nCircleArea;
	}
}

答3:

addEventListener(Event.ENTER_FRAME, xRotate);
function xRotate(eventObject:Event):void {
	rotation += 10;
}

Information

写真:野中文雄

Instructor野中文雄

ソフトウェアトレーナー、テクニカルライター、オーサリングエンジニア、株式会社ロクナナ 取締役

プロフィールを見る

voice

受講頂いた方からのコメントをご紹介しています。

ActionScript 3.0と数学の関連性が理解でき、とても勉強になりました。

Web制作会社

今まで暗記していた数学のロジックを深く理解でき、もっと使えるようになったと思う。

フリーランス

私は文系なのですが、数学の基本を勉強できてとても面白かったです。

一般企業 正社員

【「複数割」受講チケット最大23%OFFキャンペーン】有効期限はお買い求め日から1年間。募集中の全ての講座にご利用いただけます!!キャンペーンの詳細はこちら

【10,000円キャッシュバックキャンペーン】 2講座受講の方に10,000円のキャッシュバック!!キャンペーンの詳細はこちら

受講料全額無料プレゼント!!

Adobe Creative Suite 4をご購入の方に、67WSを無料で受講いただけるキャンペーンを実施中です!


トップページに戻る

ページ先頭へ戻る