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 から開く事が可能です。 |
・ | サンプルファイルは、素材として自由に使用する事ができます。転載や二次配布可能です。 |