ひさびさに制作日記でも。
ノートに問題点やアイデアをまとめたものを、ほぼそのままうpしちゃいます。ので、意味不明なところもあるかも。
4/10(日)の頑張り
現状の課題たち
A:背景画像を用意しなきゃ
B:弾の生成やりづらくね?
C:連続で撃つ弾幕、どうするの?
D:ボスの画像用意しなきゃ
E:BGMとSE用意しないと
F:ステージの区切りを作る
G:データのセーブ機能が必要だ
H:パラメータのロードを簡単にしたい!
I:ロード画面欲しいよね
J:弾幕の構成考えないと
K:ゲートアイテム作らなきゃ
L:難易度調整の仕組みが欲しいなあ
B - 弾の生成やりづらくね?について
a:「速度・加速度」とか「角度・速さ・加速」とか、引数にバリエーションを作るとしたら、
各派生クラスにそれぞれ複数のコンストラクター作らなきゃいけない問題
b:SEいつ鳴らすの?問題
c:左右反転どうすんの問題
d:引数多すぎ問題
→ BulletFactory作ればいいじゃん!!!!!!!!
① 「敵クラス」が「位置」「弾の形」「弾の色」「左右反転射出フラグ」を持っているので
② 敵クラスをFactoryにぶっ込む(メソッドに引数で渡す)。特に指定がなければ敵の位置から撃つ
引数の問題も左右反転の問題もFactoryで処理すればいいし、a,b,d解決!
③ SEはFactory内部で鳴らせばいいんじゃね?c解決!
これであとはFactoryで派生クラスをうまく処理すれば・・・はっ!
e:弾の種類ごとにコンストラクターに必要な引数が違う問題
NormalBullet 基本パラメータのみ
CurveBullet 基本パラメータ+角速度
WaveBullet 基本パラメータ+振幅や波長
などなど。できるだけ引数渡す場所はFacrotyに集めたいんだけどなー。
簡単に思いつくのは可変個引数を・・・
いやしかし、「CreateNormal」とか「CreateCurve」とかのメソッドを作れば済むじゃん!何やってんだ俺。
e解決!
じゃあ早速実装しようぜ!
基本パラメータは「発射主、角度、速さ、加速、(位置)」で。
ぶっちゃけ「速度ベクトル・加速度ベクトル」で指定したくないよねー
よし、実装した!B解決!
ああ、ソースコード見てたら新たな問題が浮かんできたぞ・・・
M:アイテム生成やりづらくね?
N:派生クラス用の定数を、兄弟クラスごとに同じの作るのが気持ち悪い
ゲーム制作日記
コメントはまだありません。