2Dゲームを作るのにあったら便利な関数ってあるでしょうか?
例えば、物体Aと物体Bの当たり判定など、
皆さんの経験上で何かあったら教えてください><
ゲームを作るのにあったら便利な関数
Re:ゲームを作るのにあったら便利な関数
沢山ありますよ。どんなゲームを作るかによって必要な関数はそれぞれ違うでしょうけど、
例えばDXライブラリで言えばどんなゲームでも必要になる関数の例でこんなものがあると思います。
http://dixq.net/g/#40
どれ位キーが入力されているかを監視しないと、メニュー選択判定や押しっぱなしの判定などが出来ないので。
私は他に「レインボー色を生成する関数」やSTGにかぎって言えば、弾番号を2つ渡せばその弾同士が成す角度や距離が返ったりする関数を愛用しています。
指定した色を取得するのは簡単ですが、レインボー(赤、橙、黄、緑、青、藍、紫等)をうまく変化させながら変化させた色を取得するのは少し難しいです。そこで、カウンタを渡せばその数字にあったレインボー色が取得できる関数があればキレイにレインボーを表現出来ます。
どんなゲームを作るかによって必要な関数は様々ですが、汎用的に使える関数を作るようにすれば後々楽になりますね。
例えばDXライブラリで言えばどんなゲームでも必要になる関数の例でこんなものがあると思います。
http://dixq.net/g/#40
どれ位キーが入力されているかを監視しないと、メニュー選択判定や押しっぱなしの判定などが出来ないので。
私は他に「レインボー色を生成する関数」やSTGにかぎって言えば、弾番号を2つ渡せばその弾同士が成す角度や距離が返ったりする関数を愛用しています。
指定した色を取得するのは簡単ですが、レインボー(赤、橙、黄、緑、青、藍、紫等)をうまく変化させながら変化させた色を取得するのは少し難しいです。そこで、カウンタを渡せばその数字にあったレインボー色が取得できる関数があればキレイにレインボーを表現出来ます。
どんなゲームを作るかによって必要な関数は様々ですが、汎用的に使える関数を作るようにすれば後々楽になりますね。
Re:ゲームを作るのにあったら便利な関数
>2Dゲームを作るのにあったら便利な関数ってあるでしょうか?
そうですね、ゲームによるところが大きいので、使う必要もないものも
あるでしょうが、いくつか適当に挙げてみます。
¶ 数値補完
やはり線形・スプラインなどの数値の補完系は必須といってもいいのでは
ないでしょうか。
管理人さんが仰っていたような色もそうですし、座標、速度などなど
補完してあげないと滑らかな動きにはならないので、このあたりの関数は
大抵のゲームで必要になるかと思います。
[color=sans-serif]百匹目の猿 ばねでイージング
ttp://100th.blog96.fc2.com/blog-entry-6.html[/color]
こんなのも用意しておくと、パラメータ次第でいろんな動きに化けるので
重宝します。
後は、乱数を有る程度の数を配列にぶち込んで、それぞれの間をなめらかに
補完するやつとか。
地震とかカメラの手ぶれとか、マシンガンを撃つときの方向補正とかに
重宝します。
¶ 即時復帰型ファイルロード
ファイルロードはデータ量によっては時間がかかることが多いので
非同期で行える関数があれば、ゲームの進行を止めることなくファイルを
読み込むことができます。
¶ デバッグ系
ログだったり、パフォーマンスだったり、メモリアロケート状況を調べる
(リークしてないかとか)ものとか。
細かく挙げればきりがないんですけど、まずはこんなところです。
そうですね、ゲームによるところが大きいので、使う必要もないものも
あるでしょうが、いくつか適当に挙げてみます。
¶ 数値補完
やはり線形・スプラインなどの数値の補完系は必須といってもいいのでは
ないでしょうか。
管理人さんが仰っていたような色もそうですし、座標、速度などなど
補完してあげないと滑らかな動きにはならないので、このあたりの関数は
大抵のゲームで必要になるかと思います。
[color=sans-serif]百匹目の猿 ばねでイージング
ttp://100th.blog96.fc2.com/blog-entry-6.html[/color]
こんなのも用意しておくと、パラメータ次第でいろんな動きに化けるので
重宝します。
後は、乱数を有る程度の数を配列にぶち込んで、それぞれの間をなめらかに
補完するやつとか。
地震とかカメラの手ぶれとか、マシンガンを撃つときの方向補正とかに
重宝します。
¶ 即時復帰型ファイルロード
ファイルロードはデータ量によっては時間がかかることが多いので
非同期で行える関数があれば、ゲームの進行を止めることなくファイルを
読み込むことができます。
¶ デバッグ系
ログだったり、パフォーマンスだったり、メモリアロケート状況を調べる
(リークしてないかとか)ものとか。
細かく挙げればきりがないんですけど、まずはこんなところです。
Re:ゲームを作るのにあったら便利な関数
どんなプラットフォームで、どんなゲームを作るかによりますが、ほぼすべてに共通していえるのは、性能のよい擬似乱数でしょうね。
既存のライブラリもそれなりにありますが、常にそれらが利用できるとは限らないので。
既存のライブラリもそれなりにありますが、常にそれらが利用できるとは限らないので。