【ゲームプログラミング】その3. 画面描画(マップチップ)の設計
こんばんは、てぃってぃ(嫁)の夫です。
「スマホでローグライク開発」第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)
ご購読、ありがとうございました。
ディスカッション
コメント一覧
まだ、コメントがありません