入れ子になったUIViewの座標の把握

入れ子になったUIView座標系

2Dゲーム開発に於いては座標の把握を難儀に思う処です。 2Dゲームフレームワークの SpriteKit を用いれば Scene 中の座標はその親 View たる UIKit の支配下にあるものとはY軸が逆転しますから尚更です。 Viewの入れ子はキャラクターの行動制限や把握などに便利なので利用したいのですが 入れ子にすればする程多重化した座標系は複雑化しますから トレードオフの関係となりジレンマで歯痒さを感じる処です。

iPhoneアプリ開発に於いて画面構成の基本となるのは UIView クラスです。 此のクラスは bounds プロパティと frame プロパティを持ち両者は CGRect を型としています。 開発を進めていけば両者の使い分けに混乱を来して来るのを感じた向きも多いのではないでしょうか。 どうやら入れ子になる座標系の把握については 先立って此れ等UIViewのプロパティを確り把握する必要があるようです。

ついてはサイト Sun Limited Mt. の2010年4月3日の以下の記事が大変参考になりました。

スポンサーリンク
日付:2014年4月11日
開発機:MacBook Air(11-inch, Mid 2013)
MacOSバージョン:OS X 10.9.2
Xcodeバージョン:5.1
言語:Objective-C
主関連アプリ:うさ犬が行く
[iPhone] UIView の frame と bounds の違い
  • frame はスーパービューから見た座標
  • bounds はローカルのビューから見た座標

記事に一眼に分かり易くまとめてくれてある要項を上に引用しました。 記事には更に実例を挙げて詳細が解説されています。

今回手元の開発アプリ うさ犬が行く の実装には取り敢えずは直接の関係はないかのように感じはするものの 考えてみればiPhoneの画面フレーム(frame)から描画領域(bounds)が中にあって その中に背景の動く山や川がUIViewクラスとしてframe、boundsプロパティを其々持ち 更にその上にキャラクターを制限するUIView領域が乗りますから丸で無縁というのではない訳です。

Going USAINU(邦題: うさ犬が行く)
無料:カテゴリ: ゲーム: 4+ 評価
バージョン: 3.21
リリース: 2015年9月14日
更新: 2022年3月7日
サイズ : 19.7 MB
互換性: iOS 14.4 以降のiPhone、iPod touch に対応。および、macOS 11.0以降とApple M1 チップを搭載したMac に対応。