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