内容紹介
入門者から取り組める、最強のActionScript3.0解説書の登場です。サンプルの制作を通して、Flash CS3+ActionScript 3.0によるスクリプティングの「基本」「考え方」「具体的な組み立て方」が体得できます。
本書の対象読者
1. ActionScript 3.0について、ヘルプや入門書で勉強を始めた。
2. ActionScript 1.0か2.0で、スクリプトは書いたことがある。けれど、ActionScrpt 3.0はまだ知らない。
3. JavaやC++/C#などオフジェクト指向プログラミング言語の経験はある。しかし、ActionScriptについてはまだ初心者だ。
主に上記のような方を対象に、本書は解説されています。入門レベルから解説を始めていますが、後半ではクラス定義の応用など中級向けのテーマも扱っていますので、脱初心者や中級者の方にも役立つ内容となっています。
本書の特長
- 解説本編に、適宜さまざまな囲み記事をちりばめてあります。知っておくと便利な「Tips」、用語解説の「Word」、ActionScript 1.0/2.0を学んだことがある人のために3.0との違いを説明する「AS1&2 Note」、より深く知りたい中級者のための「Maniac!」、これらの囲み記事を必要と興味に応じて併せ読むことで、ActionScript 3.0に対してより深い理解が得られます。
- ActionScript3.0の入門から応用までを順次解説していく本編のほか、「テクニック編」「数学編」を用意しました。
「テクニック編」では、Tips的な内容のうち、本編で扱えなかった少しまとまったテーマについて解説しています。また、「数学編」では、ActionScriptの組み立てに必要な数学の知識をまとめました。数学の論理に興味がなければ、読まなくとも本編などの理解には差支えありません。
このような、「多重構造」の構成を取ることで、読者の知識レベルや、学びたいレベルなどのニーズに応じてさまざまな読み方、学習の仕方が可能となっています。
ActionScript 3.0をしっかり、深くマスターしたい人のための手引き書です。
書誌情報
- 著者: 野中 文雄
- ページ数: 642ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
野中 文雄
慶応義塾大学大学院経営管理研究科修士。独立系パソコン販売会社で、総務・人事、企画、外資系企業担当営業などに携わる。その後、コンテンツ制作会社に転職。ソフトウェアトレーニング、コンテンツ制作などの業務を担当する。2001年11月に独立。Web制作者に向けた情報発信プロジェクトF-siteにも参加する。株式会社ロクナナ取締役(非常勤)。
10年以上のトレーニング経験をもち、ビジネスソフトから映像・マルチメディア関連まで、扱えるアプリケーションは多数にわたる。ActionScript 3.0のトレーニングは、JaGraおよびm-Schoolにて開講中。FlashのActionScriptを中心とした著述、監訳など執筆にも力を注ぐ。
主な著書:『FLASH OOP for ActionScript 3.0』(共著、翔泳社)、『Flash プロフェッショナル・スタイル』(共著、マイナビ)など。
目次
Chapter 01 ActionScript 3.0を使ってみよう
- 1.1 シンボルとインスタンス
- 1.1.1 シンボルの作成
- 1.1.2 シンボルは役者でインスタンスは配役
- 1.1.3 シンボルとインスタンスのタイプ
- 1.2 インスタンス名と識別子
- 1.2.1 識別子とは
- 1.2.2 インスタンス名の設定
- 1.3 簡単なスクリプトの記述と動作確認
- 1.3.1 フレームアクション
- 1.3.2 プロパティの設定
- 1.3.3 スクリプトの動作確認
- 1.3.4 プレビューの前に[シンタックスチェック]
- 1.4 ムービークリップのプロパティとターゲットパス
- 1.4.1 タイムラインに直接配置したインスタンスをコントロール
- 1.4.2 ムービークリップシンボル内に入れ子にしたインスタンスをコントロール
- 1.5 変数はメモリ
- 1.5.1 タイムラインを使ったアニメーション
- 1.5.2 アニメーションのパラメータを変数で指定する
- Column 01 ECMAとECMAScript
Chapter 02 スクリプトによるアニメーション
- 2.1 関数・メソッドを使う
- 2.1.1 タイムラインで1秒をカウントする
- 2.1.2 getTimer() 関数の使い方
- 2.1.3 getTimer() 関数で時間の経過を調べる
- 2.1.4 Math.floor()メソッドで小数点以下を切捨てる
- 2.2 変数を使う
- 2.2.1 秒針のアニメーションを0 秒からスタートする
- 2.2.2 変数について
- 2.3 関数(function)を定義する
- 2.3.1 秒針が最初に一瞬ずれる訳 − NaN(非数)−
- 2.3.2 関数の定義と呼出し
- 2.4 setInterval() 関数を使う
- 2.4.1 setInterval() 関数で繰返し処理を行う
- 2.4.2 setInterval() 関数の注意点
- 2.5 イベントリスナーを使う
- 2.5.1 イベントリスナーとは
- 2.5.2 イベントリスナーを使ったスクリプティング
- 2.6 タイムライン変数とローカル変数
- 2.6.1 クリック時のイベントリスナーを加える
- 2.6.2 タイムライン変数とローカル変数の違い
- 2.6.3 ローカル変数の意義
- 2.7 イベントのことをもう少し知ろう
- 2.7.1 イベントを定数で指定する
- 2.7.2 イベントオブジェクトをつくるクラス
- Column 02 コードヒントを利用する
Chapter 03 DateクラスとStringクラス
- 3.1 Dateクラスを使って時刻を調べる
- 3.1.1 Dateクラスのインスタンスをつくる
- 3.1.2 Dateインスタンスから時刻情報を取得する
- 3.2 クラスとインスタンス
- 3.3 Dateクラスを使った時計の針のアニメーション
- 3.4 Dateクラスで日付を調べる
- 3.4.1 Dateクラスの日付のプロパティを使う
- 3.4.2 日付のプロパティ値をフォーマットされた文字列で表す
- 3.4.3 Dateインスタンスの日時データを設定・変更する
- 3.5 Stringクラスで文字列を操作する
- 3.5.1 年を2 桁にする
- 3.5.2 月日を2 桁に揃える
- 3.5.3 日付の更新処理を加える
- 3.6 数値を指定桁数の文字列で返す関数
- 3.6.1 数値を2 桁の文字列に変換して返す関数
- 3.6.2 任意の桁数の数値から末尾2 桁を文字列に変換して返す
- 3.6.3 任意の桁数の数値から指定桁数の文字列に変換して返す
- Column 03 LiveDocsオンラインヘルプ
Chapter 04 MovieClipの座標の操作
- 4.1 マウス座標を調べる
- 4.1.1 継承されるプロパティとメソッド
- 4.1.2 マウスポインタの座標を調べる
- 4.2 プロパティの天動説と地動説
- 4.3 親タイムラインから眺める − 地動説
- 4.4 差を埋める − 天動説
- 4.5 イーズアウトの公式
- 4.6 プロパティを設定する関数
- 4.6.1 インスタンスの変数値をどのように設定するか
- 4.6.2 変数値を設定する関数の定義
- 4.6.3 アニメーションを開始する関数の定義
- 4.7 パラメータを加える
- 4.7.1 パラメータとして固定値を設定
- 4.7.2 変化するパラメータ値を設定
- Column 04 変数宣言と関数定義の初期化時期
Chapter 05 マウスでスクロールさせるMovieClip
- 5.1 ループする水平スクロールのアニメーション − ifステートメント
- 5.1.1 単純な動きから始める
- 5.1.2 単純に水平移動するアニメーション
- 5.1.3 ifステートメント
- 5.1.4 水平スクロールをループする
- 5.1.5 関数で処理を構成する
- 5.1.6 インスタンスを配置する関数の定義
- 5.2 マウスポインタの位置に応じてスクロール方向を変える − elseステートメント
- 5.2.1 elseステートメント
- 5.2.2 移動スピードを計算する関数の定義
- 5.3 左方向スクロールをループする − else ifステートメント
- 5.3.1 else ifステートメント
- 5.3.2 ステージ左端を超えたら右端にループする
- 5.4 マウスポインタの位置に応じてスクロールスピードを変える
- 5.4.1 マウスポインタのステージ中央からの距離にスピードを比例させる
- 5.4.2 比例係数を調整する
- 5.5 プロパティ値の有効桁数
- Column 05 if/else if条件の順序
Chapter 06 キーボードによる操作とArrayおよびObjectクラス
- 6.1 キーイベントを受取る
- 6.1.1 キーを押すイベント ー InteractiveObject.keyDown
- 6.1.2 フォーカスを当てる
- 6.1.3 イベントの受取り手
- 6.2 KeyboardEventオブジェクトとキーコード
- 6.2.1 KeyboardEventオブジェクトのプロパティ
- 6.2.2 キーコードを調べる
- 6.3 矢印キーでインスタンスを移動する
- 6.3.1 矢印キーの方向に1ピクセルずつ移動する ─ if/else ifステートメント
- 6.3.2[ shift]キーで移動ピクセル数を増やす
- 6.4 switchステートメントを使う
- 6.4.1 switchステートメントのシンタックス
- 6.4.2 if/else ifステートメントをswitchステートメントで書替える
- 6.5 Arrayインスタンス(配列)を使う
- 6.5.1 Arrayインスタンスの操作
- 6.5.2 キーコードで配列に値を設定
- 6.5.3 ドット演算子と配列アクセス演算子
- 6.5.4 配列の入れ子
- 6.5.5 配列を使った矢印キーによるインスタンスの移動
- 6.6 Objectインスタンスの配列を使う
- 6.6.1 Objectインスタンスの操作
- 6.6.2 Objectはすべてのクラスのスーパークラス
- 6.6.3 Objectインスタンスの配列を使った矢印キーによるインスタンスの移動
- Column 06 値と参照
Chapter 07 三角関数を使って楕円軌道のアニメーションを作成する
- 7.1 バネのような振動のアニメーション
- 7.1.1 水平に揺れるアニメーション ─ cosを使う
- 7.1.2 垂直に揺れるアニメーション ─ sinを使う
- 7.2 円のアニメーションとsinおよびcos
- 7.2.1 円のアニメーション
- 7.2.2 cosとsin の関係
- 7.2.3 ラジアンと度数
- 7.3 楕円のアニメーション
- 7.3.1 楕円の軌道を描く式
- 7.3.2 水平スケールを変える
- 7.4 遠近感をつける − 関数と引数の扱い
- 7.4.1 sin 値と連動した値
- 7.4.2 引数の値を確かめる
- 7.4.3 引数のデフォルト値
- 7.5 ぼかしをかける ─ フィルタの適用
- 7.5.1 フィルタの適用手順
- 7.5.2 BlurFilterクラスとDisplayObject.filtersプロパティ
- 7.5.3 遠近感をぼかしで表現する
- Column 07 座標の方向に回転させる
Chapter 08 カスタムクラスを定義する
- 8.1 空のクラスをつくる
- 8.1.1 最小限のクラス定義
- 8.1.2 タイムラインから呼出せるクラス
- 8.2 プロパティとメソッドを定義する
- 8.2.1 プロパティとメソッドのアクセス制御
- 8.2.2 プロパティにアクセスするためのメソッド
- 8.2.3 メソッドの戻り値を考える
- 8.3 戻り値をクラス化する
- 8.3.1 時・分・秒・ミリ秒のプロパティを保持するクラスの定義
- 8.3.2 クラスの動作を確かめる
- 8.4 get/setアクセサメソッド
- 8.4.1 get/setアクセサメソッドの定義
- 8.4.2 MyTimerInfoクラスにget/setアクセサメソッドを定義する
- 8.5 インスタンスの文字列表現をカスタマイズする − toString()メソッド
- Column 08 メソッドもプロパティ
Chapter 09 MovieClipシンボルにクラスを定義する
- 9.1 MovieClipシンボルに設定するクラス定義
- 9.1.1 MovieClipシンボルに定義するクラスのスタイル
- 9.1.2 フレームアクションを修正してMovieClipシンボルに設定するクラスとして定義する
- 9.1.3 MovieClipシンボルにクラスを設定する
- 9.2 クラスの中身を整理する
- 9.2.1 メンバー名とプロパティの整理
- 9.2.2 Pointクラスでxyの値を管理する
- 9.2.3 メソッドの整理
- 9.3 インスタンスを動的に配置する
- 9.3.1 シンプルに試す
- 9.3.2 DisplayObjectContainer.addChild()メソッド
- 9.3.3 デバッグは犯罪の捜査と同じ
- 9.3.4 DisplayObject.addedToStageイベント
- 9.4 複数のインスタンスを配置する − forステートメント
- 9.4.1 インスタンスの配置を指定する
- 9.4.2 forステートメント
- 9.4.2 whileステートメント
- 9.4.3 複数のインスタンスをループ処理で配置する
- 9.4.4 機能の拡張に備える
- 9.5 重ね順と遠近法
- 9.5.1 重ね順を変える
- 9.5.2 遠近法をより正確に
- Column 09[ ライブラリ]アイテムから動的にインスタンスをつくる
Chapter 10 イベントの配信とオーバーライド/インターフェイス
- 10.1 パッケージを使う
- 10.1.1 クラスをパッケージに加える
- 10.1.2 パッケージに加えたカスタムクラスを使う
- 10.1.3 クラスパスとパッケージ
- 10.2 回転するインスタンスをコントロールするクラス
- 10.2.1 クラスの備えるべき仕様
- 10.2.2 RotationControllerクラスの定義
- 10.3 EventDispatcherクラスを継承して利用する
- 10.3.1 EventDispatcherクラスを継承する
- 10.3.2 EventDispatcher.dispatchEvent()メソッドを呼出す
- 10.3.3 RotationControllerクラスからイベントを配信する
- 10.4 配列を並べ替える
- 10.4.1 Array.sort()メソッド
- 10.4.2 比較関数とArray.sortOn()メソッド
- 10.4.3 RotationControllerクラスでインスタンスの重ね順を変える
- 10.5 イベントオブジェクトで情報を送る
- 10.5.1 Eventクラスのサブクラスを定義する
- 10.5.2 RotationControllerクラスを修正する
- 10.5.3 EllipticMotionクラスを修正する
- 10.6 スーパークラスのメソッドを再定義する − オーバーライド
- 10.6.1 メソッドのオーバーライド
- 10.6.2 サブクラスからのアクセスを許す
- 10.7 クラスに資格を与える − インターフェイス
- 10.7.1 インターフェイス(interface)の役割と定義の仕方
- 10.7.2 インターフェイスの定義と実装
- Column 10 2 進数・16 進数とビット演算
- Column 11 Eventのサブクラスでclone()とtoString()メソッドをオーバーライドする
テクニック編
- T.1 ランダムな値を取出す
- T.2 外部データをロードする
- T.3 ECMAScript for XMLと正規表現
- T.4 マウスイベントを扱う
- T.5 変換行列と3次元の回転
- T.6 クラスとオブジェクトの小ネタ集
数学編
- M.1 数列の基礎
- M.2 三平方(ピタゴラス)の定理
- M.3 三角関数
- M.4 直線の式
- M.5 ベクトル
- M.6 行列と座標変換