【ゲームプログラミング】その3. 画面描画(マップチップ)の設計

2020年2月15日

こんばんは、てぃってぃ(嫁)の夫です。

「スマホでローグライク開発」第3回です。今回の記事は「画面設計①」です。今までの記事はここからどうぞ!

画面レイアウト

今回も、超重要な設計内容、画面について。環境の調整開始。第1回での「ポリシー」に書いた、横向きを実現するべく、こんなレイアウトにすることで考えています。

Screen.Width、Screen.heightは、実際に端末画面で表示されているサイズなので、どのような端末でも画像崩れをおこさないようにするためには、すべてこのサイズを基準として倍率で計算します。

そしてローグライクで重要なマップの視界サイズは、プレイヤーを中心として3マス遠くまで見える、というようにしておきます。ここはdefineで変えられるようにしておかないと後々超大変になるので、defineにする。(C#だからconstですね)

そして1マス分のサイズは、Screen.height÷9を小数点1桁で切り下げた値を採用する。切り上げにすると微妙にはみ出そうなので。

なので、マップチップの画像サイズをXの正方形とすると、S倍してScreen.height÷9にする必要があるので、

X × S = Screen.height / 9

∴ S = (Screen.height / 9) / X

となり、この値が1マス分となる。

ためしに、40px × 40px のテスト用マップチップを配置してみました。…というところで、劇はまり中。マップチップの画像サイズXが、取れない…。w

このコードで取れるって書いてあるんだけど、取れる値は「0.4」。なんだろう、カメラの設定でZ位置を引いているのが関係あるのか??

var sr = object.GetComponent<SpriteRenderer>();
var width = sr.bounds.size.x;

(取れたら続きを記事を訂正しますw)

ご購読、ありがとうございました。