• 締切済み

C# シューティングゲーム 初心者です。

作製環境はVisual C# 2005です。 C#を使って簡単なシューティングを作製しようとしています。初心者なのでフォームからいろいろ配置して作製しているのですが分からないことが多くて困っています。敵機の移動についてpictureboxを使っていちいちタイマーで動かしてしまっているので多く敵機を作ると動きが重くなってしまいます。楕円か何かの図形をそのまま動かして敵にしたいのと、その場合の当たり判定について詳しく分かる方は教えてほしいです。 大変初歩的な質問ですが何卒お願い申し上げます。それなりのシューティングゲームを作製したいと思っています。

みんなの回答

  • i-kujou
  • ベストアンサー率50% (13/26)
回答No.1

そもそもPictureBoxなどのWindowsControlはゲームのようは激しい(毎秒三十回以上)書き換えられるようなことは想定されていません。 ゲームではグラフィックを自前で全て描画し、それをウィンドウにBitBltするというのが基本です。 C#ではありませんが、C言語でシューティングゲームの作り方について詳細に記述してあるサイトを参考URLに載せましたので、参照してみてください。

参考URL:
http://l.huu.cc/rp/
mow8008
質問者

お礼

回答をしてくださりありがとうございます。サイトを参考に作ってみたいと思います。

関連するQ&A

  • VBでのシューティングゲーム

    こんにちは VB6.0を使ってシューティングゲーム作りしてるですが、弾を発射することはできたのですが弾が当たっても消えません(当たり前ですが 判定でIf文を使うのはわかっているのですが、そこからがわかりません・・・ どなたかご教授お願いします。 内容としては、image3(弾)がimage1(敵)に当たったらimage1が非表示になるって感じにしたいです。 image1も3もタイマーを使っています、よろしくお願いします。

  • DLLって

    C言語を勉強しているのですが、いまいちよくDLLの意味がわかりません。例えば、シューティングのゲームで、当たり判定の処理をDLL形式?で保存して、違うシューティングを開発するときにそのDLLの関数を使って当たり判定を簡単にする。みたいな解釈でいいのでしょうか。また作成するときはどうやって作ればいいのでしょうか。ちなみにvisual studio 2008を持っています。ご教授お願いします。

  • Lite1.0でのシューティングゲームですが

    いつも大変参考にさせていただいております。 さて、本題ですが、Lite1.0でシューティングゲームを作成しているのですが 動きと当たり判定の連動がうまく行きません。 今現在設定している敵MCのあたり判定は以下の通りです。 //自機(攻撃側)とのあたり判定 if (../pc:_y >= _y - 10 and _y + 10 >= ../pc:_y) { if (../pc:_x == _x) { if (/game:hp <> 0) { if (/game:dmg <> 1) { tellTarget ("../pc") { gotoAndPlay("dmg"); } tellTarget ("../../hp") { nextFrame(); } } } } } //弾とのあたり判定 if (../tama:fire == 1) { if (../tama:_y >= _y - 10 and _y + 10 >= ../tama:_y) { if (../tama:_x >= _x -10 and _x + 10 >= ../tama:_x) { tellTarget ("../tama") { gotoAndStop(1); } gotoAndPlay("baku"); } } } インスタンス名の説明をします。 pcが自機、tamaは自機が発射する弾。 gameがシーン1に置かれている全体のMC。 hpが自機のパワー数、dmgはダメージ。 このASを敵MCの1フレーム目に記載しております。 そして、2フレーム目に gotoAndPlay(_currentframe - 1); 3フレーム目~7フレーム目には /game:score += 10; ラベルはbakuとしています。 そして、8フレーム目に stop(); ラベルをendとしています。 タイムラインは(全てMC) シーン1→game→ステージ(敵や弾・自機)→敵(あたり判定をしているMC) となっております。 そして、以前の質問にあった、こちらの動きを付けたいと考えております。 ↓ http://oshiete1.goo.ne.jp/qa2802247.html あたり判定は問題なく出来ているのですが、 これに動きをつけると動作しなくなってしまう・・・ と言いますか、どのように連動させるべきかうまいこと分かりません。 ゲームのイメージとしてはインベーダーゲームと思って下さい。 また違った方法で動きをつける様になるのでしょうか。 説明が長くなってしまって申し訳ございませんが 宜しくお願いいたします。

  • 動的に配置したpictureboxについて

    Visual C# 2008を使っています。 pictureboxを動的に配置し、そのpictureboxをクリックすることで 初めて押せるようなボタンを用意したいと思っています。(通常は「ボタン名.Enable = false」にしています) しかし、静的に配置したpictureboxならうまくいくのですが、動的に配置したpictureboxはクリックしても反応しません。 これは何が原因なのでしょうか? わかる方がいましたら回答をお願いします。

  • 縦スクロールのゲームの参考本

    DXライブラリとCを使ってシューティングゲームを作成したいと思っています。 14歳から始めるC言語ゲームプログラミングでDXライブラリと横スクロールゲームについて勉強し http://l.huu.cc/s/ このサイトで縦スクロールのゲームを作成しています。今このサイトはしばらく更新していないようなのですが・・・敵と自弾までの判定はできたものの、敵と自機、敵の弾と自機との判定ができず現在勉強中です・・・。 現在東方のような縦スクロールシューティングゲームをDXライブラリとC言語を作成しようと思っているのですがそのようなゲームの参考本はないでしょうか? 理想としてはサンプルゲームプログラムがあり、プレイヤーの移動→弾の発射→・・・といった具合に作成していく参考書が望ましいです。 開発環境は C言語 DXライブラリ ビジュアルスタジオ2003.net です。よろしくお願いします。

  • サイズの確認はどうすれば?

    現在javascriptで簡単なシューティングゲームを 作っています。 で、ウインドウズのペイントを使って自分で 自機、敵機などをデザインしたのですが その幅、高さをどこで確認したらいいのか 分かりません。 プロパティで512×384となっていますが 絶対にそこまででかくはありません。 サイズが分からないので当たり判定の処理に 困り、現在とまどっております。 どこを見ればペイント機能で作った画像のサイズを 確認することができるのでしょうか。 よろしくお願いします。

  • 【行き詰まり】ブロック崩しゲーム作成【判定?】

    初めまして。 今課題ということでVB.NETでブロック崩しを作成しているのですが、 作成途中で詰まってしまい、ここへ書き込みをしています。 ・ボール、ブロックの初期配置 ・壁とブロックの当たり判定 まで作ったところで、講師から「プロパティを用いてブロックへの当たり判定と消える判定フラグをまとめろ」と言われました。 VB初心者で使い方が判らず、あちこち調べて見ましたがどうにも糸口が掴めません。 どなたかご存知の方いましたら、御教授の程をお願いします。 ソースは後ほど添付します。 よろしくお願いします。 (環境はVisual Basic 2008 Express Editionです)

  • C#で枠無しウィンドウの移動

    現在、Visual C#でちょっとしたものを作っているのですが、 pictureBoxで画像を貼り付けてフォームを this.FormBorderStyle = FormBorderStyle.None; this.TransparencyKey = Color.White; これで、透明、枠無しにしようとしているのですが、 枠無しにするとウィンドウの移動ができません。 この場合、どうすればよいでしょうか?

  • MSVC++でノベルゲーム

    今、個人のプログラミング練習として「ノベルゲーム」の制作をしています。 ただ、現在二つほど問題を抱えており、片方は解決の糸すらわかりません。その片方を質問します。 それは、 「キャラ絵の横(つまり白地)がバックイメージにする方法がわからない」 マイクロソフトビジュアルC++を使ってますが、そのように画像を編集するためのソフト。 また、pictureBoxで画像をフォームに貼り付けていますが、それ以外のいい方法がある場合。教えてください。

  • c#でスケジューラをスタンドアローン型でつくっています。

    c#でスケジューラをスタンドアローン型でつくっています。 Visual c#ではMonthCalendarがもともとあり、それを用いてスケジューラーをつくっています。予定を登録し、リストボックスに予定を表示するようにしています。 しかし、MonthCalendarだとどの日に予定が入っているのかがひと目ではわかりにくく困っています。 一ヶ月の一覧をスケジュール帳のように表示したいと思いやっているのですが、なかなかうまくいきません。 そもそもこれは可能なのででしょうか?? 予定はcsvファイルで保存しています。 どのWindowsフォームを用いたらそのような表示ができるでしょうか?? ちなみに今、考えているのはリストボックスをフォームに縦6×横7に配置し、配列を使いできないかなっと思っているのですがどう思いますか?? 思いついただけなので、これができるかもわからないところです。 参考になることでも良いので 教えてくれませんか?? お願いします。

専門家に質問してみよう