てぃってぃの楽しい副業日記!

ワイと嫁(てぃってぃ)夫婦の、副業、育児、プログラミング、筋トレ、ゲームを綴ったブログです☆

【ゲームプログラミング】その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)

 

 

 

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