N2-Works
WEB企画・制作/システム開発 大阪拠点

モートン順序を利用した空間分割による衝突判定

リアルタイムに移動する大量のオブジェクトを表示するゲームをAndroidで制作しておりますが、そのオブジェクト同士を単純に全てを判定すると処理が重くなり過ぎます。

そこで

こんな本を買ってみました。

各所で絶賛されていた本でしたが、かなり高額です。

しかし今後のためにも読んでおいた方がいいと判断したので購入したのですが、この内容をコードに落とし込むところまで考えるとかなり時間が掛かります。

続きを表示する

当たり判定

この記事に対するコメント(1件)

[Flash]2013年02月08日 19時10分41秒

EventクラスのtargetとcurrentTargetの違い

ActionScript3.0の場合、イベントは3つの段階を経て伝達されていきます。

いわゆるキャプチャ段階、ターゲット段階、バブリング段階です。

addEventListenerの3つ目の引数、useCaptureのtrue、falseはこのキャプチャ段階の伝達を使用するかどうかを設定できます。

続きを表示する

ActionScript3.0

この記事に対するコメント(0件)

[Flash]2011年08月18日 20時56分39秒

flライブラリのDataGridコンポーネントのセルにComboBoxを使用する方法

flライブラリのDataGridは非常に中途半端な実装です。

自前で用意するのは面倒なので使っていますが、TextField以外の編集可能セルを実装する方法が分かりませんでした。

公式のドキュメントを調べると、CellRendererクラスを継承すれば既存のコンポーネントを埋め込むことができることが分かりました。

続きを表示する

ActionScript3.0 flライブラリ

この記事に対するコメント(0件)

[Flash]2011年07月27日 17時54分54秒

FlashDevelopでFlashCS4のflライブラリUIコンポーネントを使用する方法

FlashDevelopでComboBoxを使用したかったのですが、mxmlのクラスしかありません。

画面もコードで定義したかったので代替手段はないか探してみると、flライブラリを使用したサンプルが何件かありました。

試してみるとFlashDevelopにはflライブラリが存在しないためimportエラーが発生します。

オーサリングツールにflライブラリのflaファイルがあるので、それをswcファイルに変換すればライブラリとして使用できそうです。

続きを表示する

ActionScript3.0 flライブラリ

この記事に対するコメント(0件)

[Flash]2011年07月15日 07時10分08秒

多重ループからのbreak

複雑なプログラムを組んでいる場合、多重ループを実装することはよくあります。

通常ActionScriptでループを抜ける場合はbreakを使用します。

// forの例
var i:int;
for (i = 0; i < 10; i++) {
  if (i == 5) {
    break;
  }
}

// whileの例
i = 0;
while (i < 10) {
  if (i == 5) {
    break;
  }
  i++;
}

上記は1つ上のループに抜ける場合でしたが、多重ループを一度に抜ける場合は次のように実装します。

続きを表示する

ActionScript3.0

この記事に対するコメント(0件)

[Flash]2010年10月31日 02時00分31秒

ActionScript3.0の乱数

Flashにおける乱数の精度はどれくらいなのかというのが気になりましたので、測定することにしました。

VC++のライブラリにおけるrand()はサンプルがそれほど多くない場合でもパターンが感じられる程、精度が低い物のようです。

cのrand

#define A 214013
#define C 2531011
#define F 0
#define S 1

static long x=S;

int rand() { x=x*A+C; return (int)(x>>16)&32767; }
void srand(long s) { x=s; if (F) rand(); }

たったこれだけのコードで乱数を発生させていたというのが驚きですね。

続きを表示する

MT法

この記事に対するコメント(0件)

[Flash]2009年10月04日 03時37分18秒

シューティングゲームの回転弾

今回のコラムは回転弾についてですが、STGに限ったものではありません。

オブジェクトの角度や位置を計算することはゲーム開発には必須だからです。

それでは回転運動を実装するにはどのようにすればよいのでしょうか。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年10月03日 20時28分16秒

アクションゲームの投擲

今回はアクションゲームの投擲処理です。

物理法則に従って物を投げるとどういう軌跡を描くかを実装します。

今回もサンプルを用意しました。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年09月02日 21時37分14秒

シューティングゲームの追尾レーザー

前回の追尾弾に続き、追尾レーザーを解説します。

まずサンプルプログラムを紹介します。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年09月01日 21時51分52秒

シューティングゲームの追尾弾

今回はシューティングゲームの追尾弾です。ホーミングミサイルと呼ばれるあいつのことです。

解説前にサンプルプログラムとソースコードです。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年08月31日 21時01分08秒

シューティングゲームの3-WAY弾

前回は角度指定の弾の発射を行いましたので、今回はそれの応用編として3-WAY弾の発射を行います。

要は角度指定弾を3つ同時に発射すればいいだけです。

以下にサンプルプログラムを示します。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年08月29日 23時42分38秒

シューティングゲームの角度指定弾発射

今回は角度指定の弾発射です。

角度を指定して移動させるので、三角関数を使用します。

単位円におけるX軸の算出にはcos、Y軸の算出にはsinで出来ます。

当然ですが、弾の移動に限ったことではありませんので色々な場面で使用します。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年08月29日 01時10分44秒

シューティングゲームにおける狙い撃ち弾

前回のコラムで二点間の距離を取得する関数を紹介しましたが、それを使用する例も紹介しましょう。

シューティングゲームで敵(ex, ey)が自機(mx, my)を狙って弾を発射するとします。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年08月27日 15時53分17秒

二点間の距離を算出

ゲーム開発で、オブジェクト間の距離を知ることはとても役に立ちます。

そのための関数を紹介します。

続きを表示する

ActionScript2.0 ゲーム開発 物理

この記事に対するコメント(0件)

[Flash]2009年07月23日 15時21分17秒

TOP