Flashゲーム講座 & アクションスクリプトサンプル集
基本的な組み込み機能
| ・ | 数値型について |
| ・ | 数値を作成する |
| ・ | Number クラスのプロパティについて |
| ・ | Number クラスのメソッドについて |
| ・ | 数値用のグローバル関数について |
| ・ | 文字列から数値型に変換する |
| ・ | 文字列について |
| ・ | 文字列を作成する |
| ・ | String クラスのプロパティについて |
| ・ | String クラスのメソッドについて |
| ・ | 数値型から文字列に変換する |
| ・ | 文字列リテラルのエスケープについて |
| ・ | Object クラスについて |
| ・ | オブジェクトを作成する |
| ・ | オブジェクトツリーを構築する |
| ・ | Object クラスのプロパティについて |
| ・ | Object クラスのメソッドについて |
| ・ | Object クラスのデータ管理について |
| ・ | オブジェクトを複製する |
| ・ | 参照(リファレンスデータ)について |
| ・ | Array クラスとは? |
| ・ | 配列を作成する |
| ・ | 多次元配列を作成する |
| ・ | Array クラスのプロパティについて |
| ・ | Array クラスのメソッドについて |
| ・ | Array クラスのデータ管理について |
| ・ | Function クラスについて |
| ・ | 関数を作成する |
| ・ | Function クラスのプロパティについて |
| ・ | Function クラスのメソッドについて |
| ・ | クロージャについて |
| ・ | コンストラクタ関数について |
| ・ | プロトタイプについて |
入力デバイス関連
| ・ | マウスカーソルの座標を取得する |
| ・ | 自作のマウスカーソルを作成する |
| ・ | 自作のマウスカーソルをゆっくり近づける |
| ・ | 自作のマウスカーソルを動かした方向に向ける |
| ・ | インスタンスをドラッグする |
| ・ | インスタンスをドロップする |
| ・ | マウスホイールの回転を取得する(Flash 7 以降) |
| ・ | キーボードが押されたか調べる |
| ・ | キーコードの一覧表 |
| ・ | 2つのキーが同時に押されたか調べる |
| ・ | キーボードが押された瞬間を調べる |
| ・ | キーボードが離された瞬間を調べる |
| ・ | すべてのキーが押されていないかを調べる |
| ・ | キーボードを押してムービークリップを動かす |
| ・ | キーボード操作の割り当てを変更する |
タイマー関連
| ・ | 経過した時間を調べる |
| ・ | 現在のローカルの日付/時間を取得する |
| ・ | デジタル時計を作成する |
| ・ | アナログ時計を作成する |
| ・ | 一定時間経過後に、任意の関数を実行する(Flash 8 以降) |
| ・ | 一定の時間間隔で、任意の関数を実行する(Flash 6 以降) |
| ・ | フレーム更新時に、任意の関数を実行する |
基本的な表示
| ・ | ボタンについて |
| ・ | ボタンのプロパティについて |
| ・ | 深度とは? |
| ・ | インスタンスの深度を変更する |
| ・ | インスタンスの深度を取得する(Flash 6 以降) |
| ・ | 深度を指定してインスタンスを取得する(Flash 7 以降) |
| ・ | 最前面となる深度を取得する(Flash 7 以降) |
| ・ | ムービークリップを着色する |
| ・ | ムービークリップに詳細な色を設定する |
| ・ | カラーマトリックスフィルタを使用する(Flash 8 以降) |
| ・ | ビットマップキャッシュとは? |
| ・ | ムービークリップをキャッシュ化する |
ステージ関連
| ・ | スケールモードを設定したい(Flash 6 以降) |
| ・ | ウインドウのサイズを調べたい(Flash 6 以降) |
| ・ | 整列する位置を指定したい(Flash 6 以降) |
| ・ | フルスクリーンで表示したい |
| ・ | 9 スライスの拡大/縮小を使用したい(Flash 8 以降) |
| ・ | ハードウェアスケーリングを使用したい(Flash 9以降) |
| ・ | 画質の違いについて |
| ・ | 画質を変更したい |
| ・ | 負荷に応じて画質を自動的に変更したい |
描画関連
テキスト関連
| ・ | テキストフィールドを動的に作成する |
| ・ | テキストフィールドに文字を表示する |
| ・ | テキストフィールドのプロパティを設定する |
| ・ | テキストフィールドの書式を設定する |
| ・ | スタイルシートを適用する(Flash 7 以降) |
| ・ | 高品質アンチエイリアスを使用する(Flash 8 以降) |
| ・ | TextSnapshot クラスについて |
| ・ | 静止テキストの文字を取得する |
| ・ | 静止テキストの文字の選択属性を設定する |
メディア関連
| ・ | BitmapData オブジェクトを作成する |
| ・ | BitmapData オブジェクトを解放する |
| ・ | 埋め込んだ画像ファイルを表示する |
| ・ | 外部から読み込んだ画像ファイルを表示する |
| ・ | ビットマップにレンダリング(キャプチャ)する |
| ・ | ビットマップの編集について |
| ・ | ビットマップの転送について |
| ・ | ビットマップのエフェクトについて |
| ・ | サウンドオブジェクトを作成する |
| ・ | サウンドの再生制御について |
| ・ | サウンドの出力設定について |
| ・ | ID3 タグを取得する(Flash 6 以降) |
| ・ | 静的なサウンドについて |
| ・ | 埋め込んだサウンドファイルを再生する |
| ・ | 外部から読み込んだサウンドファイルを再生する(Flash 6 以降) |
| ・ | 動画ファイルの再生について |
| ・ | 動画の再生制御について |
| ・ | 動画のサウンド制御について |
| ・ | 動画の再生バッファについて |
| ・ | 動画のメタデータを取得する |
| ・ | 動画の読み込み状況を取得する |
| ・ | ビデオを作成する |
| ・ | 動画ファイルを再生する (Flash 7 以降) |
| ・ | Webカメラの映像を表示する |
| ・ | 映像ソースの解像度を取得する |
| ・ | スムージングを設定する |
| ・ | 非ブロッキングフィルタを設定する |
| ・ | マイクを使用する |
| ・ | マイクの増幅率を設定する |
| ・ | マイクのキャプチャーレートを設定する |
| ・ | マイクのエコー抑制を設定する |
| ・ | マイクのアクティビティを検出する |
| ・ | カメラの映像を表示する |
| ・ | キャプチャモードを設定する |
| ・ | モーションを検出する |
エフェクト関連
| ・ | ブレンドについて |
| ・ | インスタンスにブレンドを適用する |
| ・ | ブレンドの種類について |
| ・ | フィルタとは? |
| ・ | ブラーフィルタについて |
| ・ | ベベルフィルタについて |
| ・ | グラデーションベベルフィルタについて |
| ・ | グローフィルタについて |
| ・ | グラデーショングローフィルタについて |
| ・ | ドロップシャドウフィルタについて |
| ・ | カラーマトリックスフィルタについて |
| ・ | コンボリューションフィルタについて |
| ・ | ディスプレイスメントマップフィルタについて |
システム関連
| ・ | ハードの情報を調べたい(Flash 6以降) |
| ・ | FlashPlayerのバージョンを調べる |
| ・ | Flashが置かれているURLを調べる |
| ・ | システムクリップボードにコピーする(Flash 7 以降) |
| ・ | システムメニューを呼び出す(Flash 6 以降) |
| ・ | IMEの使用を切り替える(Flash 8 以降) |
| ・ | IMEの変換モードを設定する(Flash 8 以降) |
| ・ | コンテキストメニューとは? |
| ・ | コンテキストメニューを非表示にする |
| ・ | コンテキストメニューが表示されるか調べる(Flash 7 以降) |
| ・ | コンテキストメニューに項目を追加する(Flash 7 以降) |
| ・ | インスタンスにコンテキストメニューを登録する(Flash 7 以降) |
| ・ | フォーカスとは? |
| ・ | フォーカスの変化を監視する |
| ・ | フォーカスを設定する |
| ・ | テキストフィールドの編集位置を調べる |
| ・ | テキストフィールドを範囲選択する |
| ・ | 共有オブジェクトについて |
| ・ | 共有オブジェクトを作成する |
| ・ | 共有オブジェクトにデータを保存する |
| ・ | 共有オブジェクトからデータを取得する |
| ・ | 共有オブジェクトからデータを削除する |
ファイル関連
| ・ | すべて読み込んでから再生を開始したい |
| ・ | 読み込まれたバイト数を調べたい |
| ・ | 読み込まれたパーセントを調べたい |
| ・ | 読み込まれた状況をメータで表示したい |
| ・ | 読み込みの転送量を調べたい |
| ・ | 読み込み完了までの推定時間を調べたい |
| ・ | FileReference クラスについて |
| ・ | ファイルを選択する |
| ・ | ファイルをアップロードする |
| ・ | ファイルをダウンロードする |
外部との連携
| ・ | LocalConnection について |
| ・ | メッセージを受信する |
| ・ | メッセージを送信する |
| ・ | メッセージの送受信例 |
| ・ | Flash Player の要素について |
| ・ | Flash から JavaScript を実行する |
| ・ | JavaScript から Flash にアクセスする |
| ・ | External API について |
| ・ | Flash 側のデータ送受信処理について |
| ・ | CGI 側のデータ送受信処理について |
| ・ | Flash と CGI との連携での注意点 |
| ・ | サンドボックスタイプを取得する |
| ・ | クロスドメインポリシーについて |
| ・ | クロスドメインスクリプトについて |
| ・ | JavaScript 実行のセキュリティについて |
イベント関連
開発関連
ゲームアルゴリズム的なお話
| ・ | 乱数とは? |
| ・ | 乱数を取得する(小数値) |
| ・ | 乱数を取得する(整数値) |
| ・ | 擬似乱数を使用する |
| ・ | 連続しない乱数を取得する |
| ・ | 配列の中身をシャッフルする |
| ・ | 一定の速さで移動させたい |
| ・ | 加速しながら移動させたい |
| ・ | 減速(摩擦)しながら移動させたい |
| ・ | 波のように移動させたい |
| ・ | 円のように移動させたい |
| ・ | 放物線(自由落下)のように移動させたい |
| ・ | 振り子のように移動させたい |
| ・ | 点とインスタンスとで当たり判定を取る |
| ・ | インスタンス同士で当たり判定を取る |
| ・ | 四角形(矩形)同士で当たり判定を取る |
| ・ | 円同士で当たり判定を取る |
| ・ | 点が線を境にどちら側にあるか判定を取る |
| ・ | 二次元配列を使った当たり判定を取る |
| ・ | レイと線分とで当たり判定を取る |
| ・ | 玉同士の衝突を計算する |
| ・ | 矩形を使った地形との衝突を計算する |
| ・ | 円と線を使った地形との衝突を計算する |
| ・ | 単純な無限スクロール |
| ・ | マウスでスクロールするマップ |
| ・ | スクロールするゲームの作り方 |
| ・ | FPS(フレームパーセコンド)とは? |
| ・ | FPS(フレームパーセコンド)を計算する |
| ・ | フレームレートを変更する |
| ・ | 音に合せて映像の同期を取る |
| ・ | パソコンはデジタルで管理されている |
| ・ | 2進数と16進数について |
| ・ | 論理演算を使ってみよう |
| ・ | シフト演算を使ってみよう |
| ・ | 1つの変数を32個のフラグとして使おう |
| ・ | 1つの変数に複数の整数値を持たせよう |
| ・ | 角度とラジアン |
| ・ | 角度から2Dベクトルに変換する |
| ・ | 2Dベクトルから角度に変換する |
| ・ | 2つの角度の差を計算する |
| ・ | 2つの3Dベクトルから角度差を求める |
| ・ | 移動量と角度から x と y 軸方向の移動量を求める |
| ・ | 2つの座標から角度を求める |
| ・ | x方向とy方向の移動量から角度を求める |
| ・ | 直線で一定の速度で狙撃する動き |
| ・ | 直線で一定の速度で拡散した動き |
| ・ | ターゲットを追尾する動き |
| ・ | ターゲットを追尾する動き(加速付き) |
| ・ | 放物線で狙撃する動き(時間固定) |
| ・ | 放物線で狙撃する動き(角度固定) |
| ・ | 放物線で狙撃する動き(x方向のみ速度固定) |
| ・ | ベクトルとは? |
| ・ | ベクトルで座標を移動させよう |
| ・ | ベクトルで目的地まで移動させよう |
| ・ | ベクトルで移動制限を付けよう |
| ・ | 反射ベクトルと滑りベクトル |
| ・ | 行列を使ってできること |
| ・ | 行列を作成してみよう |
| ・ | 座標を変換してみよう |
| ・ | 変換成分をまとめてみよう |
| ・ | 好きな座標を中心に回転するには |
| ・ | 曲線を引くためには |
| ・ | 2次ベジェ曲線を描画する |
| ・ | 3次ベジェ曲線を描画する |
| ・ | N次ベジェ曲線を描画する |
| ・ | スプライン曲線を描画する |
| ・ | はじめに |
| ・ | ACT1:バーを動かしてみよう |
| ・ | ACT2:玉を動かしてみよう |
| ・ | ACT3:バーと玉と当たり判定をつけてみよう |
| ・ | ACT4:ブロックを配置してみよう |
| ・ | ACT5:玉とブロックと当たり判定をつけてみよう |
| ・ | ACT6:ゲームオーバーを付けてみよう |
| ・ | ACT7:ブロックが全部消えたかチェックしよう |
| ・ | ACT8:スコアをつけてみよう |
| ・ | ラスタースクロールについて |
| ・ | サインカーブで波打つビットマップ |
| ・ | サインカーブで伸縮するビットマップ |
| ・ | ドットを拡大してモザイクをかける |
| ・ | 前の画面を半透明にして重ねるブラー |
| ・ | 投影変換をかけたレースゲーム風の地面 |
| ・ | 「テトリス」のソース |
| ・ | 「BULLET STORM」のソース |
| ・ | 「SUPER KANON WORLD」のソース |
2D算術ライブラリ
| ・ | 2Dベクトルを作成する |
| ・ | 2Dベクトル同士を加算する |
| ・ | 2Dベクトル同士を減算する |
| ・ | 2Dベクトルを乗算する |
| ・ | 2Dベクトルの長さを求める |
| ・ | 2Dベクトル同士の内積を求める |
| ・ | 垂直な2Dベクトルを求める |
| ・ | 2Dベクトルを正規化する |
| ・ | ソースをダウンロード |
| ・ | 単位行列を作成する |
| ・ | 平行行列を作成する |
| ・ | 回転行列を作成する |
| ・ | 拡縮行列を作成する |
| ・ | 座標の射影変換 |
| ・ | ベクトルの射影変換 |
| ・ | マトリックスの射影変換 |
| ・ | 正規直交行列の逆行列を作成する |
| ・ | 逆行列を作成する |
| ・ | ソースをダウンロード |
3D算術ライブラリ
| ・ | 3Dベクトルを作成する |
| ・ | 3Dベクトル同士を加算する |
| ・ | 3Dベクトル同士を減算する |
| ・ | 3Dベクトルを乗算する |
| ・ | 3Dベクトルの長さを求める |
| ・ | 3Dベクトル同士の内積を求める |
| ・ | 3Dベクトル同士の外積を求める |
| ・ | 3Dベクトルを正規化する |
| ・ | ソースをダウンロード |
| ・ | 単位行列を作成する |
| ・ | 平行行列を作成する |
| ・ | X軸で回転する行列を作成する |
| ・ | Y軸で回転する行列を作成する |
| ・ | Z軸で回転する行列を作成する |
| ・ | 任意軸で回転する行列を作成する |
| ・ | 拡縮行列を作成する |
| ・ | 座標の射影変換 |
| ・ | ベクトルの射影変換 |
| ・ | マトリックスの射影変換 |
| ・ | 正規直交行列の逆行列を作成する |
| ・ | 逆行列を作成する |
| ・ | 行列を正規直交化する |
| ・ | ソースをダウンロード |
Javaと連動したFlash
ActionScript3.0 の解説はこちらへ
Flashゲームプログラミング講座 For ActionScript3.0
Flashゲームプログラミング講座 For ActionScript3.0
このページについて
■注意点
| ・ | 間違いや、より最適なプログラムがあるかも知れません。 |
| ・ | このサイトに関わる事で、如何なる問題、損害が発生しても、hakuhinは一切責任を負いません。100%利用者の自己責任とします。 |
■ActionScript について
| ・ | このページは主に ActionScript1.0 を元に解説しています。ActionScript2.0 でも動作します。 |
| ・ | 解説にバージョンの記述がある場合は、Flash5(ver5) , FlashMX(ver6) , FlashMX2004(ver7) , Flash8(ver8) , FlashCS3(ver9) , FlashCS4(ver10)以降のFlashを使用するかもしくは、パブリッシュ設定でそのバージョン以上で swf ファイルが書き出される様に選択する必要があります。 |
| ・ | FlashCS5 は、バージョン 11 に相当しますが、作成できるのは Flash 10 形式です。 |
| ・ | Fla6 以下のファイルを Flash CS4(ver10) で開くと読み込みに失敗する事があります。何度か読み込みを試みてください。 |
■サンプルファイルについて
| ・ | as1 という表記がある場合は、ActionScript1.0で組んでいます。as2 という表記がある場合は、ActionScript2.0で組んでいます。 |
| ・ | fla* という表記がある場合は、それ以上のバージョンの Flash から開く事が可能です。 |
| ・ | サンプルファイルは、素材として自由に使用する事ができます。転載や二次配布可能です。 |