やっぱり処理が遅い・・・

投稿者:Material 7186 1 mini ikosami 投稿日:2012/05/29 23:30

シューティングはスピード感が(個人的には)大事だというのに、
処理が追いつかないです・・・

フレームスキップを取り入れても、スキップされすぎて
よく見えませんし・・・


敵が弾を出して攻撃するようにすると、
動きがすごくかくかくしてしまいます・・・
(なので、今のところ敵は、皆特攻隊です。)

なにか、処理を速くするコツとかないのでしょうか?


敵の動き方の設定は、先に設定しておいてその動きに順ずるという、
ロードに時間のかかる形式を取っています。

aoihikawaさんの
プラプリ - 【シューティングゲーム】
も、おそらくそのような形式が取られている(?)と思いますが、
僕のやつは敵の数が多すぎるのでしょうか?
多い時は敵が同時に12体くらい出てきますし・・・

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/05/30 00:51, 履歴)
メインループ内の処理を
少なくしていくことが
基本かつ重要ですね。

・必要なデータはメインループ外で準備しておく
・当たり判定などを減らす
・関数の呼び出しを減らす
・複雑な計算を簡略化する

後はアイデアと応用。
Nyan mini rurun9(投稿日:2012/05/30 14:01, 履歴)
なるほどなるほど、参考になります
俺プリ、もう少し改良してみようかな…
Material 7186 1 mini ikosami(投稿日:2012/05/30 19:09, 履歴)
>>aoihikawaさん

当たり判定などを減らす・・・というのは、
具体的にはどのような感じなのでしょうか?

一応、
現状では、敵-自弾 敵-自機
だけです。


>>rurun9さん
あのゲームの略称あったんですね(^^;)
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/05/30 20:09, 履歴)
一例ですが、参考程度に。

<例>


・自機の周囲に余裕をとった範囲を持っておき、
 まずはこの中で敵の左上1点が
 範囲内にあるか判定することで
 その敵全体の当たり判定処理を行うか判断する

・敵の集団をひとつの纏まりとし
 その纏まりの中に弾があるかどうかで
 敵との当たり判定を行うか判断する
Material 7186 1 mini ikosami(投稿日:2012/05/31 11:12, 履歴)
なるほど。
メインループ外で敵の纏まりの場所を設定しておいて、
それで判定するわけですね。

これなら弾の数十回分の処理が削減できそうですね。
(時間的に、今日中にそれを追加するのは厳しそうですが・・・)
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/05/31 14:37, 履歴)
とりあえず、できたところまでで
一旦、公開しておいて
後から機能追加・修正とか。
Material 7186 1 mini ikosami(投稿日:2012/05/31 19:00, 履歴)
それありなんですか(^^;)
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/06/01 00:48, 履歴)
投票期間内で、早めに仕上げないと
投票数が上がらない難点も
ありますけれどね。