私は主にC++とJavascriptを利用した3D学習ベースのゲームに取り組んでいます。私は、プレーヤーがノートブックに情報を送ったときに通知システムを設計しようとしています。ゲームで通知システムを設定する方法
私はシステムをセットアップしましたが、監督はそれがより良くできると思っています。これは私がy'allsの助けが必要なところです!
それが行った非常に基本的な方法:
をプレイヤーがノートPCに送信する情報をトリガーに何かをするだろう。これが起こったのと同じ方法で、私は通知を出しました。通知は、画像の2つのdivを点滅させることによって(プレイヤーの画面に点滅する)表示されます。これらのdivのいずれかがクリックされると、プレーヤーにノートブックが表示されます。プレーヤーがノートブックを表示または終了するたびに、通知はオフになります。
は今ここに私が使っていたコードです:メインGameStateで
私のJSでGameStateの更新機能
// checks if the unviewed information notification needs to be on or off
if(notify(0) == 1) // supposed to be on
{
mScreen->executeJavascript("notebookNotification(1);"); // turns it on
} else {
int nothing = notify(2); // clears out notify to 0
mScreen->executeJavascript("notebookNotification(0);"); // turns it off
}
で
int GameModeState::notify(int query)
{
static int notified;
if(query == 1)
{
notified = 1;
return notified;
}
if(query == 2)
{
notified = 0;
return notified;
}
else
{
return notified;
}
}
var intervalID; // Needed to turn off setInterval()
//Function takes in 0 to turn off notification, anything else turns it on
function notebookNotification(setting)
{
if(setting == 0)
{
if(intervalID) {
// clears the blinking darkContainer
window.clearInterval(intervalID);
intervalID = null;
}
// hides both of the images
$("#lightNotificationContainer").hide();
$("#darkNotificationContainer").hide();
}
else
{
$("#lightNotificationContainer").show();
if(!intervalID) {
// "animates" the blinking of the notification; the darkContainer toggles on and off every second, and covers the lightContainer
intervalID = window.setInterval('$("#darkNotificationContainer").toggle()', 1000);
}
}
}
私は回るだろう通知をオフにするGameModeState::notify(2)
これではなく、これよりも優れたシステムは何でしょうか?
何を、正確に、スーパーバイザは思うんが、より良い行うことができますか?私たちはパフォーマンス、ビジュアル、可読性のためのコード構造などを話していますか? –
@Levi Morrison:パーツパフォーマンス、パーツコード構造。それはちょうど最善の方法で設定されていません。 – Briz
確かに、それは動作しますが、より良いかもしれません。私がもっと良い方法を知っていれば、経験豊富なコーダーがこれに助けてもらう必要はありません。 – Briz