「PlayStation Suite SDK/プログラムの基本構造」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
68行目: | 68行目: | ||
== whileループ == | == whileループ == | ||
while (true)、いわゆる[[永久ループ]]。 | while (true)、いわゆる[[永久ループ]]。 | ||
− | ゲームプログラミングの世界では[[ゲームループ]]と呼ばれるもので、基本的に「ゲームメイン処理」、「画面描画」、「[[ウェイト]] | + | ゲームプログラミングの世界では[[ゲームループ]]と呼ばれるもので、基本的に「ゲームメイン処理」、「画面描画」、「[[ウェイト]](フレームレート調整)」を延々と繰り返すことでゲームが進行するようになっている。 |
− | === [[SystemEvents.CheckEventsメソッド (Sce.Pss.Core.Environment)]] === | + | === [[SystemEvents.CheckEventsメソッド (Sce.Pss.Core.Environment)]] ===旧来の家庭用ゲーム機であればゲームのみが動くのが一般的であり上記の3つだけで良かったが、近年のPCに近い環境ではアプリ切り替えなどにより、ゲームを一時中断させられたりするため、定期的にシステムのイベントのチェックを行う必要がある。 |
− | |||
本気モードの場合は、チェックした内容で細かい制御を書いたりする。 | 本気モードの場合は、チェックした内容で細かい制御を書いたりする。 | ||
=== UpdateメソッドとRenderメソッド === | === UpdateメソッドとRenderメソッド === | ||
− | + | Updateメソッドには主にCPUを使う計算処理を書く。 | |
いわゆるゲームメイン処理。 | いわゆるゲームメイン処理。 | ||
ようするにキー入力やキャラクターの移動、[[当たり判定]]などを行う。 | ようするにキー入力やキャラクターの移動、[[当たり判定]]などを行う。 | ||
− | + | Renderメソッドには主にGPUを使う描画処理を書く。 | |
「何でUpdateとRenderの2つのメソッドを分けてるの?意味ないじゃん。[[デザインパターン]]の一種?」と思われるかもしれないが、この例では[[シングルスレッド]]で処理しているが、本気モードのときはゲームメイン処理が重いときは描画処理をすっ飛ばしたり([[フレームスキップ]])、ゲームメイン処理と描画処理で[[スレッド]]をわけたりする(いわゆる[[マルチスレッド]])のが一般的だからである。つまり本気モードへの移行時に[[ソースコード]]の書き換えを最小限にするためである。 | 「何でUpdateとRenderの2つのメソッドを分けてるの?意味ないじゃん。[[デザインパターン]]の一種?」と思われるかもしれないが、この例では[[シングルスレッド]]で処理しているが、本気モードのときはゲームメイン処理が重いときは描画処理をすっ飛ばしたり([[フレームスキップ]])、ゲームメイン処理と描画処理で[[スレッド]]をわけたりする(いわゆる[[マルチスレッド]])のが一般的だからである。つまり本気モードへの移行時に[[ソースコード]]の書き換えを最小限にするためである。 |