Flashゲーム講座 & アクションスクリプトサンプル集
ActionScript の基本的な API
・ | マウスカーソルの座標を取得したい |
・ | マウスカーソルを作りたい |
・ | ゆっくり近づくマウスカーソルを作りたい |
・ | 動かした方向を向くマウスカーソルを作りたい |
・ | インスタンスをドラッグしたい |
・ | インスタンスをドロップしたい |
・ | ホイールの回転を取得したい(Flash 7 以降) |
・ | キーが押されたか調べたい |
・ | キーコードの一覧表 |
・ | 2つのキーが同時に押されたか調べたい |
・ | キーが押された瞬間を調べたい |
・ | キーが離された瞬間を調べたい |
・ | キーが押されていないかを調べたい |
・ | キーを押してムービークリップを動かしたい |
・ | キーの配置の割り当てをしたい |
・ | キー入力を汎用的に使えるようにしたい |
・ | テキストフィールドを動的に作成したい |
・ | テキストフィールドに文字を表示したい |
・ | テキストフィールドのプロパティを設定したい |
・ | テキストフィールドに書式を設定したい |
・ | スタイルシートを適用したい(Flash 7 以降) |
・ | 静止テキストにアクセスしたい(Flash 7 以降) |
・ | 高品質アンチエイリアスを使用したい(Flash 8 以降) |
・ | 静的に配置したサウンドの音量を変更したい |
・ | 静的に配置したサウンドのパンを変更したい |
・ | 左右のスピーカー出力を詳細に設定したい |
・ | ライブラリにあるサウンドを動的に再生したい |
・ | 外部にあるサウンドを動的に再生したい(Flash 6 以降) |
・ | 配列を使用したい |
・ | 2次元配列を使用したい |
・ | 配列用のメソッドを使用したい |
・ | オブジェクトを使用したい |
・ | 木構造のオブジェクトを使用したい |
・ | 参照(リファレンスデータ)について |
・ | すべて読み込んでから再生を開始したい |
・ | 読み込まれたバイト数を調べたい |
・ | 読み込まれたパーセントを調べたい |
・ | 読み込まれた状況をメータで表示したい |
・ | 読み込みの転送量を調べたい |
・ | 読み込み完了までの推定時間を調べたい |
・ | 画質の違いについて |
・ | 画質を変更したい |
・ | 負荷に応じて画質を自動的に変更したい |
・ | 共有オブジェクトとは? |
・ | 共有オブジェクトを作成して読み込みたい |
・ | 共有オブジェクトを保存したい |
・ | 共有オブジェクトを削除したい |
・ | 深度とは? |
・ | MCの深度を変更したい |
・ | MCの深度を取得したい(Flash 6 以降) |
・ | 深度にあるMCを調べたい(Flash 7 以降) |
・ | 最前面となる深度を取得したい(7 以降) |
・ | ムービークリップに色をつけたい |
・ | ムービークリップに詳細な色を設定したい |
・ | フィルタを使って色を設定したい(Flash 8 以降) |
・ | コンテキストメニューとは? |
・ | コンテキストメニューを非表示にしたい |
・ | メニューが呼び出されるか調べたい(Flash 7 以降) |
・ | メニューに項目を追加したい(Flash 7 以降) |
・ | Flash を実行してから経過した時間を調べたい |
・ | ローカル時間を取得したい |
・ | デジタル時計を作りたい |
・ | アナログ時計を作りたい |
・ | サンドボックスとは? |
・ | 別ドメインへのアクセスについて |
・ | 描画した物をすべてクリアしたい |
・ | 線のスタイルについて |
・ | 塗りのスタイルについて |
・ | 直線を描画したい |
・ | 曲線を描画したい |
・ | マウスで自由に線を引きたい |
・ | パスで囲んで面を描画したい |
・ | スケールモードを設定したい(Flash 6 以降) |
・ | ウインドウのサイズを調べたい(Flash 6 以降) |
・ | 整列する位置を指定したい(Flash 6 以降) |
・ | フルスクリーンで表示したい |
・ | 9 スライスの拡大/縮小を使用したい(Flash 8 以降) |
・ | ハードウェアスケーリングを使用したい(Flash 9以降) |
・ | ハードの情報を調べたい(Flash 6以降) |
・ | FlashPlayerのバージョンを調べる |
・ | Flashが置かれているURLを調べる |
・ | システムクリップボードにコピーする(Flash 7 以降) |
・ | システムメニューを呼び出す(Flash 6 以降) |
・ | IMEの使用を切り替える(Flash 8 以降) |
・ | IMEの変換モードを設定する(Flash 8 以降) |
・ | フォーカスとは? |
・ | フォーカスのあるインスタンスを調べる |
・ | インスタンスにフォーカスを与える |
・ | テキストフィールドの編集位置を調べる |
・ | テキストフィールドを範囲選択する |
・ | マイクを使用したい |
・ | マイクの増幅率を設定したい |
・ | マイクのキャプチャーレートを設定したい |
・ | マイクのエコー抑制を設定したい |
・ | マイクのアクティビティを検出したい |
・ | カメラの映像を表示したい |
・ | キャプチャモードを設定したい |
・ | モーションを検出したい |
・ | ブレンドを使用したい |
・ | ブレンドの種類について |
・ | ブラーフィルタを使用したい |
・ | べベルフィルタを使用したい |
・ | ドロップシャドウフィルタを使用したい |
・ | グローフィルタを使用したい |
・ | カラーマトリックスフィルタを使用したい |
・ | フィルタを使用するときの注意事項 |
・ | フィルタを適用したい |
・ | ビットマップキャッシュとは? |
・ | ムービークリップをキャッシュ化する |
・ | 一度だけ初期化したい(Flash 6 以降) |
・ | 変数をプリントデバッグしたい |
・ | アクションスクリプトを外部に置きたい |
・ | 変数がどんな型なのかを調べたい |
・ | if文を使って一括コメントアウトする |
JavaScript と連動した Flash
・ | Flash から JavaScript にアクセスする |
・ | JavaScript から Flash にアクセスする |
・ | JavaScript 実行に関するサンドボックスについて |
・ | 日本語などの全角文字を渡す |
CGI と連動した Flash
ゲームアルゴリズム的なお話
・ | 乱数とは? |
・ | 乱数を取得する(小数値) |
・ | 乱数を取得する(整数値) |
・ | 擬似乱数を使用する |
・ | 連続しない乱数を取得する |
・ | 配列の中身をシャッフルする |
・ | 一定の速さで移動させたい |
・ | 加速しながら移動させたい |
・ | 減速(摩擦)しながら移動させたい |
・ | 波のように移動させたい |
・ | 円のように移動させたい |
・ | 放物線(自由落下)のように移動させたい |
・ | 振り子のように移動させたい |
・ | 点とインスタンスとで当たり判定を取る |
・ | インスタンス同士で当たり判定を取る |
・ | 四角形(矩形)同士で当たり判定を取る |
・ | 円同士で当たり判定を取る |
・ | 点が線を境にどちら側にあるか判定を取る |
・ | 二次元配列を使った当たり判定を取る |
・ | レイと線分とで当たり判定を取る |
・ | 玉同士の衝突を計算する |
・ | 矩形を使った地形との衝突を計算する |
・ | 円と線を使った地形との衝突を計算する |
・ | 単純な無限スクロール |
・ | マウスでスクロールするマップ |
・ | スクロールするゲームの作り方 |
・ | 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 から開く事が可能です。 |
・ | サンプルファイルは、素材として自由に使用する事ができます。転載や二次配布可能です。 |