ページ 1 / 1
C++初心者、SLG製作。
Posted: 2010年4月02日(金) 18:48
by ジジ猫
タイトル通り、C++はじめて1ヶ月です。
皆さんはスーパーロボット大戦を知っていますか?
僕はコレにはまって、コレと同じようなSLGを作りたいと思いました。
C++とDXライブラリで作ろうと思っています。
早速ですが、タイトル画面のメニューの作り方が分かりません。
簡単で本格派なプログラムがあれば教えてください。
Re:C++初心者、SLG製作。
Posted: 2010年4月02日(金) 19:50
by Dixq (管理人)
> 簡単で本格派なプログラムがあれば教えてください。
簡単なプログラムと本格的なプログラムは相いれないと思いますが、本格的なメニュー画面をなるべく簡単なプログラムで表現したいということでしょうか?
本格的なメニュー画面の作成は基本となる骨格にエフェクトを付けていくことだと思います。
他のトピでも似たような事を言ったかも知れませんが、
例えばファミコンのメニュー画面って基本的で簡素ですよね。
ボタンを押したら瞬間的に次の画面に飛び、切り替わりエフェクトなどはない場合が多いです。
それに対して最近のゲームはなんらかのエフェクトがかかったりフェードアウトすることが多いと思います。
このようにボタンを押した後何らかのエフェクトをかけたり、フェードアウトしたり、一瞬で次の画面に切り替わらないようにすると「本格的」と感じられるようになると思います。
エフェクトつくりは凝り始めると終わりが無いので、まずどの辺の「本格」を目指すかを決めませんか?
そしてどのようなエフェクトをかけるか、どんなメニュー画面にするか。
現在どこまで出来ていますか?
そこからどのように発展させるかをはっきりさせてみましょう。
後シューティング部の制作状況はどの程度ですか?
※うちのAerobeatが本格的なメニュー画面かどうかはわかりませんが、
私が作った経験のあるメニュー画面でしたらアドバイスしやすいかも知れません。
Re:C++初心者、SLG製作。
Posted: 2010年4月03日(土) 03:31
by ジジ猫
なるほど…たしかに追求しすぎたら限りがありませんね(笑)。
僕のイメージは「黒い羽を持つ天使(堕天使系、ルチフェルとか)」なんで、キーを動かしたときに羽を落とすようにしたいです。Aerobeatで一回きらっと光る代わりにそうなってくれればいいと思っています。
あと、すみませんがスパロボはST(シューティング)ではなくSL(シュミレーション)です。
まだ全然できてませんが、RPGのマップの処理を応用すれば出来だろうと思っています。
まだ未知の世界であるC++です。わからないことがまだたくさんあります。
超初心者の僕ですけれども、厳しく、わかりやすくアドバイスしてくれれば幸いです。
Re:C++初心者、SLG製作。
Posted: 2010年4月03日(土) 09:25
by Dixq (管理人)
あぁ、すみません、読み間違ってました。シミュレーションですね。
では、黒い羽が落ちるエフェクトを考えてみましょうか。
とりあえず選ぶだけのメニューはもう出来ているということでよいでしょうか?
例えば下キーを押したりして選択状態が変わることがあると思いますがキーをおして選択状態が変わった時に羽が落ちるとよさそうですね。
と言う事は、プログラムのどこかに
if( 下キーが入力されたら ){
選択状態を変更する
}
みたいに書いてある部分があると思います。
その中に
if( 下キーが入力されたら ){
選択状態を変更する
(x,y)座標に羽を落とすエフェクトを登録する
}
のようにエフェクトを登録してみましょう。
羽が落ちるエフェクトの理論はシューティングと同じで良いと思います。
羽はヒラヒラっと落ちる方がよいのでしょうが、それは難しいので、まずは直線にしばらく落ちて消えるだけにしてみましょう。
シューティングについての解説はうちにすごく沢山あります。
基本的なものはここ
http://dixq.net/g/29.html
昔作った
http://dixq.net/s/こんなにもありますし、
龍神録プログラミングの館
http://dixq.net/rp/もあります。
ただしC++ではないので、クラス設計の部分では参考にならないかもしれません。
ところでC++はどの程度おわかりなのでしょうか?
C++歴1ヵ月とのこどですが、ピュアCは一通り学んでいて、C++は1ヵ月だけどCなら解るということでしょうか?
黒い羽クラスを作ったとすると中身は
・登録を受ける関数
・羽の軌道計算関数
・描画関数
位でどうでしょうか。
羽は下に向いて発射されたとしましょう。
選択状態が変わったその座標を登録関数に持たせ、その座標から下に羽を発射させます。
羽の軌道計算で下向きつまり-PI/2の方向に移動させつつ、どれ位進んだか監視し、ある程度進んだら、登録を削除します。
まずはこんな感じで見た目はしょぼいかもしれませんが、簡単なものだけ作って基本を覚えてみてはいかがでしょうか。
Re:C++初心者、SLG製作。
Posted: 2010年4月05日(月) 08:47
by ジジ猫
お礼が遅れました。
ありがとうございます。
とりあえずやってみようと思います。
実はCも全然やってないんで、本当に初心者なんです。
参考書はありますが・・・。
また分からないことがあったら掲示板に書き込みます。