訳者まえがき vii |
はじめに ix |
Ⅰ部 スタート 1 |
1章 ActionScriptの概要 3 |
1.1 ActionScript 3.0とは? 4 |
1.2 Flashプラットフォーム 7 |
1.3 手続きプログラミングとオブジェクト指向プログラミング 8 |
1.4 ドキュメントクラス 10 |
1.5 これまでのコードとの互換性 12 |
1.6 次は何? 12 |
2章 コア言語の基本 15 |
2.1 さまざまな基本事項 17 |
2.2 変数とデータ型 18 |
2.3 条件 19 |
2.3.1 if 20 |
2.3.2 switch 22 |
2.4 ループ 23 |
2.4.1 forループ 24 |
2.4.2 whileループ 25 |
2.4.3 ループに関する注意 25 |
2.5 配列 26 |
2.6 関数 28 |
2.7 カスタムオブジェクト 30 |
2.8 this 31 |
2.9 絶対アドレスと相対アドレス 32 |
2.10 次は何? 33 |
Ⅱ部 グラフィックと相互作用 35 |
3章 プロパティ、メソッド、イベント 37 |
3.1 継承される属性 38 |
3.2 プロパティ 38 |
3.3 イベント 40 |
3.3.1 イベントリスナーの使用 41 |
3.3.2 マウスイベントを使ったプロパティの制御 43 |
3.4 メソッド 46 |
3.4.1 キーボードイベントを使ったメソッドの呼び出し 46 |
3.5 イベントの伝播 48 |
3.6 フレームイベントとタイマーイベント 51 |
3.6.1 フレームイベント 51 |
3.6.2 タイマーイベント 53 |
3.7 イベントリスナーの削除 55 |
3.8 次は何? 58 |
4章 表示リスト 59 |
4.1 部分を合わせたもの 60 |
4.1.1 表示リストのクラス 62 |
4.1.2 表示リストの表示 65 |
4.2 子の追加と削除 69 |
4.2.1 addChild()の使用 69 |
4.2.2 表示リストにシンボルのインスタンスを追加する 70 |
4.2.3 addChildAt()の使用 72 |
4.2.4 表示リストとメモリからのオブジェクトの削除 73 |
4.3 オブジェクトの名前と位置、データ型の管理 77 |
4.3.1 位置(インデックス)や名前で子を求める 77 |
4.3.2 表示オブジェクトのキャスト 78 |
4.4 表示リストの階層の変更 79 |
4.4.1 深度管理 79 |
4.4.2 子のリペアレント 81 |
4.5 ダイナミックなナビゲーションバー 83 |
4.6 次は何? 85 |
5章 タイムラインの制御 87 |
5.1 再生ヘッドの移動 87 |
5.2 フレームラベル 90 |
5.2.1 新しいタイムラインActionScript 93 |
5.3 フレームレート 98 |
5.4 単純なサイトまたはアプリケーションの構造 100 |
5.5 次は何? 102 |
6章 OOP 105 |
6.1 クラス 107 |
6.1.1 カスタムクラスの概要 108 |
6.1.2 クラスパス 110 |
6.2 継承 111 |
6.2.1 クラスにもとづくシンボル 113 |
6.2.2 慣例的な方法で継承を探る 114 |
6.3 コンポジション 119 |
6.4 カプセル化 123 |
6.5 ポリモーフィズム 128 |
6.6 再び、ナビゲーションバー 133 |
6.7 次は何? 137 |
7章 モーション 139 |
7.1 基本的な運動 140 |
7.1.1 速度 141 |
7.1.2 加速度 142 |
7.2 幾何学と三角法 144 |
7.2.1 距離 144 |
7.2.2 角度に沿った運動 145 |
7.2.3 円運動 147 |
7.2.4 オブジェクトの方向を向く回転 150 |
7.3 物理学 151 |
7.3.1 重力 152 |
7.3.2 摩擦 153 |
7.3.3 弾性 155 |
7.4 プログラミングによるトゥイーン 157 |
7.5 タイムラインのアニメーションの再作成 159 |
7.6 パーティクルシステム 165 |
7.7 次は何? 169 |
8章 ベクターによる描画 171 |
8.1 Graphicsクラス 172 |
8.1.1 直線の描画 173 |
8.1.2 曲線の描画 174 |
8.1.3 単色の塗りの追加 175 |
8.1.4 シェイプの描画 176 |
8.1.5 グラデーション塗りの使用 178 |
8.1.6 鉛筆ツールのシミュレーション 179 |
8.2 幾何学用パッケージ(flash.geom) 180 |
8.2.1 点の作成 180 |
8.2.2 矩形の作成 182 |
8.2.3 マトリックス(行列)の使用 185 |
8.3 モーション用パッケージ(fl.motion) 192 |
8.4 9スライスのスケール 193 |
8.5 適用例 196 |
8.5.1 単純なカラーピッカー 196 |
8.5.2 カスタムのボタンクラス 199 |
8.6 次は何? 203 |
9章 ピクセルによる描画 205 |
9.1 ビットマップキャッシュ 206 |
9.2 BitmapDataクラス 208 |
9.2.1 ビットマップの作成 208 |
9.2.2 ライブラリにあるビットマップの使用 209 |
9.2.3 ピクセルのコピー 210 |
9.2.4 ピクセルの取得と設定 213 |
9.2.5 ビットマップ内への描画 217 |
9.3 ブレンドモード 220 |
9.4 ビットマップフィルタ 224 |
9.4.1 基本的なフィルタ 224 |
9.4.2 高度なフィルタ 226 |
9.5 カラー効果 235 |
9.5.1 ColorTransformクラス 236 |
9.5.2 ColorMatrixFilterクラス 237 |
9.5.3 Colorクラス 239 |
9.6 画像のエンコーディングと保存 239 |
9.6.1 ActionScript 240 |
9.6.2 PHP 241 |
9.7 次は何? 242 |
Ⅲ部 テキスト 245 |
10章 テキスト 247 |
10.1 テキストフィールドの作成 248 |
10.2 テキストフィールドの特性の設定 248 |
10.2.1 ダイナミックテキストフィールド 249 |
10.2.2 テキスト入力フィールド 250 |
10.3 テキストの選択 251 |
10.4 テキストのフォーマット 253 |
10.4.1 タブストップ 255 |
10.4.2 埋め込みフォントとカスタムのアンチエイリアス処理 256 |
10.5 HTMLとCSSを使ったフォーマット 259 |
10.5.1 HTML 259 |
10.5.2 CSS 260 |
10.6 HTMLリンクからActionScriptを引き起こす 262 |
10.7 テキストフィールドの解析 263 |
10.7.1 行のデータの取得 264 |
10.7.2 文字と段落のデータの取得 266 |
10.8 HTMLとCSSのロード 268 |
10.9 次は何? 273 |
Ⅳ部 サウンドとビデオ 275 |
11章 サウンド 277 |
11.1 ActionScriptのサウンドアーキテクチャ 278 |
11.2 内部サウンドと外部サウンド 279 |
11.2.1 ライブラリにあるサウンドの使用 279 |
11.2.2 外部サウンドのロード 281 |
11.3 サウンドの再生と停止、一時停止 283 |
11.3.1 サウンドの再生 283 |
11.3.2 サウンドの停止 284 |
11.3.3 サウンドの一時停止と再生の再開 284 |
11.4 ストリーミングサウンドのバッファリング 285 |
11.5 サウンドのボリュームとパンの変更 286 |
11.6 MP3サウンドからのID3メタデータの読み取り 289 |
11.7 サウンドデータの視覚化 291 |
11.8 マイク入力の操作 294 |
11.9 波形の視覚化 298 |
11.9.1 SoundPlayBasicクラス 298 |
11.9.2 Visualizationクラス 304 |
11.9.3 値の変更による効果の劇的な変化 309 |
11.10 次は何? 311 |
12章 ビデオ 313 |
12.1 エンコーディング 314 |
12.2 コンポーネント 317 |
12.2.1 FLVPlaybackコンポーネントの使用 318 |
12.3 フルスクリーンビデオ 321 |
12.4 キャプション 324 |
12.4.1 Timed Textを使ったキャプションの作成 324 |
12.4.2 Timed Textファイルの使用 328 |
12.4.3 キューポイントを使ったキャプションの作成 329 |
12.4.4 FLVキューポイントキャプションの使用 332 |
12.4.5 複数言語によるキャプション表示 332 |
12.5 コードだけによるビデオプレイヤーの自作 338 |
12.6 次は何? 342 |
Ⅴ部 入力と出力 345 |
13章 アセットのロード 347 |
13.1 サウンドとビデオのロード 348 |
13.2 テキストのロード 349 |
13.2.1 変数のロード 350 |
13.2.2 多目的に使用できるテキストローダーの使用 351 |
13.3 表示オブジェクトのロード 355 |
13.4 ActionScript仮想マシン越しのコミュニケーション 360 |
13.5 セキュリティに関する概要 363 |
13.5.1 セキュリティサンドボックス 364 |
13.5.2 サンドボックス間のアクセス方法 366 |
13.6 次は何? 368 |
14章 XMLとE4X 371 |
14.1 XML構造の理解 372 |
14.1.1 ホワイトスペース 373 |
14.1.2 宣言 374 |
14.1.3 コメントと処理命令 375 |
14.1.4 エンティティとCDATAタグ 375 |
14.2 XMLオブジェクトの作成 376 |
14.3 XMLの読み取り 378 |
14.3.1 エレメントノード 378 |
14.3.2 テキストノードの使用 380 |
14.3.3 属性の使用 382 |
14.3.4 エレメントを内容から検出する 382 |
14.3.5 エレメントを関係性から検出する 384 |
14.4 XMLの書き込み 386 |
14.5 XMLエレメントの消去 389 |
14.6 外部XMLドキュメントのロード 390 |
14.7 XMLサーバーとのコミュニケーション 391 |
14.7.1 送信とロード 391 |
14.7.2 ソケット 393 |
14.8 XMLにもとづいたナビゲーションシステム 396 |
14.9 次は何? 408 |
Ⅵ部 プログラミングデザインとリソース 411 |
15章 プログラミングデザインとリソース 413 |
15.1 プログラミングデザインの方法論 414 |
15.1.1 ウォーターフォール 414 |
15.1.2 反復 416 |
15.1.3 アジャイル 417 |
15.1.4 Vモデル 418 |
15.1.5 スパイラル 418 |
15.1.6 完全な解決方法はない 419 |
15.2 オブジェクト指向のデザインパターン 420 |
15.2.1 いくつかのパターンに関する解説 421 |
15.2.2 Singletonパターン 423 |
15.3 リソース 427 |
15.3.1 ブログ 428 |
15.3.2 フォーラム 430 |
15.3.3 書籍 431 |
15.3.4 ビデオトレーニング 431 |
15.3.5 カンファレンス 431 |
15.3.6 ライブラリ 432 |
15.4 次は何? 435 |
索引 437 |
訳者まえがき vii |
はじめに ix |
Ⅰ部 スタート 1 |
1章 ActionScriptの概要 3 |
1.1 ActionScript 3.0とは? 4 |
1.2 Flashプラットフォーム 7 |