09.ゲームフィールドの全部ではなく一部を表示



ゲームフィールドの全部ではなく一部を表示するようにします。
ゲームフィールドの全部ではなく一部を表示するときには、サーバーからクライアントへの「ゲーム内に存在しているもの」の送信は、すべてではなく、「各クライアントの画面内に位置するもの」を送信します。

デモ

デモ(Google App Engine):https://online-battle-tanks.an.r.appspot.com/index09.html
デモ(Heroku):https://online-battle-tanks-22-cf6589d25849.herokuapp.com/index09.html

解説

ゲームフィールドの全部ではなく一部を表示するようにするための、変更は以下です。

(サーバー側)ワールドクラスの変更

(サーバー側)ゲームクラスの変更

(クライアント側)スクリーンクラス

(クライアント側)共有設定クラスの変更

準備

08.を実施していない場合は、まず、08.を実施します。

サーバー側スクリプトの変更

ワールドクラスの変更

「libs/World.js」 の内容を以下のようにします。


コード解説

ゲームクラスの変更

「libs/Game.js」 の内容を以下のようにします。


コード解説

クライアント側スクリプトの変更

スクリーンクラスの変更

「public/js/Screen.js」 の内容を以下のようにします。


コード解説

共有設定クラスの変更

「public/js/SharedSettings.js」 の内容を以下のようにします。


コード解説

動作確認

サーバーを起動します。
「OnlineBattleTanks」フォルダで、以下のコマンドを実行します。


ブラウザから、「localhost:1337」にアクセスします。

大きいゲームフィールドに対して、自タンクを中心とした小さい領域で表示されます。

起動したサーバーは、「Ctrl + C」で終了します。

ダウンロード

サンプルプログラム

デモ

デモ(Google App Engine):https://online-battle-tanks.an.r.appspot.com/index09.html
デモ(Heroku):https://online-battle-tanks-22-cf6589d25849.herokuapp.com/index09.html

関連ページ

前項目:08.自タンクを常に画面中央に表示

次項目:10.スマートフォンへの対応