Flashゲーム講座 & アクションスクリプトサンプル集

Flashゲーム講座 & アクションスクリプトサンプル集

 
基本的な組み込み機能
■数値について(Number)
・数値型について
・数値を作成する
・Number クラスのプロパティについて
・Number クラスのメソッドについて
・数値用のグローバル関数について
・文字列から数値型に変換する
■文字列について(String)
・文字列について
・文字列を作成する
・String クラスのプロパティについて
・String クラスのメソッドについて
・数値型から文字列に変換する
・文字列リテラルのエスケープについて
■オブジェクトについて(Object)
・Object クラスについて
・オブジェクトを作成する
・オブジェクトツリーを構築する
・Object クラスのプロパティについて
・Object クラスのメソッドについて
・Object クラスのデータ管理について
・オブジェクトを複製する
・参照(リファレンスデータ)について
■配列について(Array)
・Array クラスとは?
・配列を作成する
・多次元配列を作成する
・Array クラスのプロパティについて
・Array クラスのメソッドについて
・Array クラスのデータ管理について
■関数について(Function)
・Function クラスについて
・関数を作成する
・Function クラスのプロパティについて
・Function クラスのメソッドについて
・クロージャについて
・コンストラクタ関数について
・プロトタイプについて
入力デバイス関連
タイマー関連
基本的な表示
■ムービークリップについて
・ムービークリップについて
・ムービークリップのプロパティについて
・ムービークリップを移動する
・ムービークリップを回転する
・ムービークリップを拡大縮小する
・ムービークリップを反転する
・ムービークリップを半透明にする
・ムービークリップにマスクを適用する(Flash 6 以降)
・ムービークリップにインスタンス名を付ける
・配置済みのムービークリップを複製する
・ライブラリから動的にムービークリップを作成する
・空のムービークリップを作成する(Flash 6 以降)
・ムービークリップにブレンドを適用する(Flash 8 以降)
・ムービークリップにフィルタを適用する(Flash 8 以降)
・ムービークリップに行列を適用する(Flash 8 以降)
■ボタンについて
・ボタンについて
・ボタンのプロパティについて
■深度について
・深度とは?
・インスタンスの深度を変更する
・インスタンスの深度を取得する(Flash 6 以降)
・深度を指定してインスタンスを取得する(Flash 7 以降)
・最前面となる深度を取得する(Flash 7 以降)
■カラーについて
・ムービークリップを着色する
・ムービークリップに詳細な色を設定する
・カラーマトリックスフィルタを使用する(Flash 8 以降)
■ビットマップキャッシュについて(Flash 8 以降)
・ビットマップキャッシュとは?
・ムービークリップをキャッシュ化する
ステージ関連
描画関連
テキスト関連
メディア関連
■ビットマップデータについて(Flash 8 以降)
・BitmapData オブジェクトを作成する
・BitmapData オブジェクトを解放する
・埋め込んだ画像ファイルを表示する
・外部から読み込んだ画像ファイルを表示する
・ビットマップにレンダリング(キャプチャ)する
・ビットマップの編集について
・ビットマップの転送について
・ビットマップのエフェクトについて
■サウンドの制御について
・サウンドオブジェクトを作成する
・サウンドの再生制御について
・サウンドの出力設定について
・ID3 タグを取得する(Flash 6 以降)
・静的なサウンドについて
・埋め込んだサウンドファイルを再生する
・外部から読み込んだサウンドファイルを再生する(Flash 6 以降)
■動画の制御について(Flash 7 以降)
・動画ファイルの再生について
・動画の再生制御について
・動画のサウンド制御について
・動画の再生バッファについて
・動画のメタデータを取得する
・動画の読み込み状況を取得する
■ビデオについて(Flash 6 以降)
・ビデオを作成する
・動画ファイルを再生する (Flash 7 以降)
・Webカメラの映像を表示する
・映像ソースの解像度を取得する
・スムージングを設定する
・非ブロッキングフィルタを設定する
■マイクについて(Flash 6 以降)
・マイクを使用する
・マイクの増幅率を設定する
・マイクのキャプチャーレートを設定する
・マイクのエコー抑制を設定する
・マイクのアクティビティを検出する
■カメラについて(Flash 6 以降)
・カメラの映像を表示する
・キャプチャモードを設定する
・モーションを検出する
エフェクト関連
システム関連
■Flashのシステム関係について
・ハードの情報を調べたい(Flash 6以降)
・FlashPlayerのバージョンを調べる
・Flashが置かれているURLを調べる
・システムクリップボードにコピーする(Flash 7 以降)
・システムメニューを呼び出す(Flash 6 以降)
・IMEの使用を切り替える(Flash 8 以降)
・IMEの変換モードを設定する(Flash 8 以降)
■右クリックメニューについて
・コンテキストメニューとは?
・コンテキストメニューを非表示にする
・コンテキストメニューが表示されるか調べる(Flash 7 以降)
・コンテキストメニューに項目を追加する(Flash 7 以降)
・インスタンスにコンテキストメニューを登録する(Flash 7 以降)
■フォーカスについて
・フォーカスとは?
・フォーカスの変化を監視する
・フォーカスを設定する
・テキストフィールドの編集位置を調べる
・テキストフィールドを範囲選択する
■ローカルへの変数の保存について(Flash 6 以降)
・共有オブジェクトについて
・共有オブジェクトを作成する
・共有オブジェクトにデータを保存する
・共有オブジェクトからデータを取得する
・共有オブジェクトからデータを削除する
ファイル関連
外部との連携
イベント関連
開発関連
ゲームアルゴリズム的なお話
■ランダムな数(乱数)を取得する
・乱数とは?
・乱数を取得する(小数値)
・乱数を取得する(整数値)
・擬似乱数を使用する
・連続しない乱数を取得する
■シャッフルについて
・配列の中身をシャッフルする
■基本的な移動方法について
・一定の速さで移動させたい
・加速しながら移動させたい
・減速(摩擦)しながら移動させたい
・波のように移動させたい
・円のように移動させたい
・放物線(自由落下)のように移動させたい
・振り子のように移動させたい
■当たり判定について
・点とインスタンスとで当たり判定を取る
・インスタンス同士で当たり判定を取る
・四角形(矩形)同士で当たり判定を取る
・円同士で当たり判定を取る
・点が線を境にどちら側にあるか判定を取る
・二次元配列を使った当たり判定を取る
■交差判定について
・レイと線分とで当たり判定を取る
■衝突の計算について
・玉同士の衝突を計算する
・矩形を使った地形との衝突を計算する
・円と線を使った地形との衝突を計算する
■スクロールについて
・単純な無限スクロール
・マウスでスクロールするマップ
・スクロールするゲームの作り方
■FPS(フレームパーセコンド)について
・FPS(フレームパーセコンド)とは?
・FPS(フレームパーセコンド)を計算する
・フレームレートを変更する
・音に合せて映像の同期を取る
■論理演算について
・パソコンはデジタルで管理されている
・2進数と16進数について
・論理演算を使ってみよう
・シフト演算を使ってみよう
・1つの変数を32個のフラグとして使おう
・1つの変数に複数の整数値を持たせよう
■角度の計算について
・角度とラジアン
・角度から2Dベクトルに変換する
・2Dベクトルから角度に変換する
・2つの角度の差を計算する
・2つの3Dベクトルから角度差を求める
■三角関数を使った計算について
・移動量と角度から x と y 軸方向の移動量を求める
・2つの座標から角度を求める
・x方向とy方向の移動量から角度を求める
■狙撃の計算方法について
・直線で一定の速度で狙撃する動き
・直線で一定の速度で拡散した動き
・ターゲットを追尾する動き
・ターゲットを追尾する動き(加速付き)
・放物線で狙撃する動き(時間固定)
・放物線で狙撃する動き(角度固定)
・放物線で狙撃する動き(x方向のみ速度固定)
■ベクトルを使ってみよう
・ベクトルとは?
・ベクトルで座標を移動させよう
・ベクトルで目的地まで移動させよう
・ベクトルで移動制限を付けよう
・反射ベクトルと滑りベクトル
■2Dのアフィン変換を使ってみよう
・行列を使ってできること
・行列を作成してみよう
・座標を変換してみよう
・変換成分をまとめてみよう
・好きな座標を中心に回転するには
■曲線について
・曲線を引くためには
・2次ベジェ曲線を描画する
・3次ベジェ曲線を描画する
・N次ベジェ曲線を描画する
・スプライン曲線を描画する
■ブロック崩しを作ってみよう
・はじめに
・ACT1:バーを動かしてみよう
・ACT2:玉を動かしてみよう
・ACT3:バーと玉と当たり判定をつけてみよう
・ACT4:ブロックを配置してみよう
・ACT5:玉とブロックと当たり判定をつけてみよう
・ACT6:ゲームオーバーを付けてみよう
・ACT7:ブロックが全部消えたかチェックしよう
・ACT8:スコアをつけてみよう
■ラスターエフェクトのサンプル集(Flash 8以降)
・ラスタースクロールについて
・サインカーブで波打つビットマップ
・サインカーブで伸縮するビットマップ
・ドットを拡大してモザイクをかける
・前の画面を半透明にして重ねるブラー
・投影変換をかけたレースゲーム風の地面
■Flash ゲームのソース集
・「テトリス」のソース
・「BULLET STORM」のソース
・「SUPER KANON WORLD」のソース
2D算術ライブラリ
3D算術ライブラリ
■3Dベクトルの関数を作ろう
・3Dベクトルを作成する
・3Dベクトル同士を加算する
・3Dベクトル同士を減算する
・3Dベクトルを乗算する
・3Dベクトルの長さを求める
・3Dベクトル同士の内積を求める
・3Dベクトル同士の外積を求める
・3Dベクトルを正規化する
・ソースをダウンロード
■4行4列のマトリックスの関数を作ろう
・単位行列を作成する
・平行行列を作成する
・X軸で回転する行列を作成する
・Y軸で回転する行列を作成する
・Z軸で回転する行列を作成する
・任意軸で回転する行列を作成する
・拡縮行列を作成する
・座標の射影変換
・ベクトルの射影変換
・マトリックスの射影変換
・正規直交行列の逆行列を作成する
・逆行列を作成する
・行列を正規直交化する
・ソースをダウンロード
■クォータニオン(4元数)の関数を作ろう
・クォータニオンを作成する
・クォータニオン同士を足し算する
・クォータニオン同士を引き算する
・クォータニオン同士を掛け算する
・クォータニオンを実数掛け算する
・クォータニオンの絶対値を計算する
・任意軸の回転クォータニオンを作成する
・回転クォータニオンからベクトルを射影変換する
・回転行列からクォータニオンに変換する
・クォータニオンから回転行列に変換する
・クォータニオン同士を球面線形補間する
・ソースをダウンロード
Javaと連動したFlash

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