• ベストアンサー

Now Loadingについて

ゲームのNow Loadingの作り方がわかりません。どういうふうに作ればいいのでしょうか?サンプルプログラムみたいのがあるとありがたいです。どうかご教授をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

>どういった時にデータのロードに時間をかけることが出来るのでしょうか? わざと時間かけるのは無意味ですよ。我々プロから見れば「Now Loading」を出さないゲームの方が優秀です。遊んでいる人に気づかれないようにロードを終わらしているわけですから。 なぜ、ロードに時間がかかるかというとCDやDVDからデータを読むと遅いのでどうしても時間がかかると言う事情と、HDDからでも数百メガバイトメモリに読み込むなら時間がかかります。それにDVDなど一枚に収めるためにデータを圧縮していることも多いのでそれの解凍にも時間がかかります。その時間が「NowLoading」が表示されている時間です。 シューティングならスレッドを利用して先行ロードすれば、ステージ毎に画像が数百メガバイト必要なゲームでも「Now Loading」を出さずにエンディングまで遊べるゲームもPCなら作れると思うんですよ。って事で将来的に「NowLoading」を出さないゲームプログラマを目指してください。 スレッドの勉強はこちらを参考に(制御がかなり難しいので、今日覚えて明日使える技術ではないです)。Windowsアプリの作り方をちゃんと理解していないとサンプル・コードを読むことさえ困難かも知れません。 http://www.daccho-it.com/program/WinApi/thread.htm http://homepage2.nifty.com/c_lang/index_c.html ← 99章以降。 http://homepage2.nifty.com/c_lang/index_c2.html

その他の回答 (3)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

>回答ありがとうございます。ゲームは作ってあります。 作ってあるんですね。失礼しました。 >そのゲームを実行するとすぐ読み込んでしまってNowLoadingを出す暇がなく画面にでてきてしまいます。どうしたらNowLoadingをだせるのでしょうか? すぐ表示されるなら「NowLoading」を出す必要はありませんよ。データのロードに時間がかかるから「NowLoading」を出すわけですから。 そもそもゲームを作れたなら画面表示の仕組みはわかっているはずなので、「NowLoading」を出すなんて簡単なはずなんですけどね。 プログラムの起動 ↓ 「NowLoading」表示 ↓ ゲームデータのロード ↓ ゲーム画面の表示 ってするだけですよ。 もしかして何かの本やサイトを参考にゲーム作ったんでしょうか?

tako1987
質問者

お礼

回答有難うございます。本を参考に作りました。 >データのロードに時間がかかるから「NowLoading」を出すわけですから。 どういった時にデータのロードに時間をかけることが出来るのでしょうか?

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

まず、NowLoadingを出す前にシューティングのゲーム部分は出来たのでしょうか? 何を言いたいかと言うと、まずゲームを作ることが大事で細かい演出はゲームがちゃんと作れるような技術力が身についてから考えるべきことです。「Now Loading」の表示方法を聞いてくる人はたいていゲーム本体部分も作れていないんですよ。違いますか? だから、ゲーム本体が完成するまで「Now Loading」を出す必要すら無いって言っておきます。ゲーム本体を作っている間に表示方法も分かりますって。

tako1987
質問者

お礼

回答ありがとうございます。ゲームは作ってあります。そのゲームを実行するとすぐ読み込んでしまってNowLoadingを出す暇がなく画面にでてきてしまいます。どうしたらNowLoadingをだせるのでしょうか?

回答No.1

それだけの質問だとサンプルも出しようがありません。 どのような環境で作る、現状どのようなゲームなのか… …まぁ、そこまでしっかり書いたところで回答つく可能性もそんなに高くないと思いますが… ゲームの作り方によりますが、 (1)マルチスレッドにして、片方のスレッドで必要なデータをひたすら読み込み、もう一方のスレッドでは読み込みが終わるまでLoadingの表示をし続ける。 (2)ロードを細切れにできるようにし、1フレームの表示時間が来る毎にLoadingの表示の処理をしてやる。 両者とも結局やってることは同じですけど。

tako1987
質問者

お礼

回答ありがとうございます。環境はVC++です。シューティングゲームを作ろうと思っています。何かサンプルありますでしょうか?

関連するQ&A