ご無沙汰してます。ピグもあと69日と半分ぐらい。
今日は座標系について。あとで自分でも分からなくなりそうだからメモしながら仕様決めていきました。
まず、以下のように用語を定義する。
用語
-
ブラウザ画面:まんまブラウザの画面
-
ゲーム画面:ブラウザの画面内に表示されるゲームの画面
- メニューウィンドウ:ゲーム画面内に表示されるメニューのウィンドウ。「きせかえ」とか「かいもの」とか「アクション」とか「ピグトーク」とかのウィンドウのこと。
- ゲーム世界:アバターが動き回るゲーム内の世界の画面。メニューウィンドウは、この上にかぶさって表示される。以下のものを含む。
- 床
- 背景
- 家具とかのオブジェクト
- アバター
この用語を元に、以下のように座標系・座標を定義する。
座標
- ブラウザ画面上の座標。左上が原点(0, 0)。絶対値。単位ピクセル。
- ゲーム画面内の座標。単位ピクセル。
- ゲーム世界内のマス目。キャラが移動する単位。出入口が原点(0, 0, 高さ0)。単位マス。高さは、床の高さが0。キューブブロック1個を高さ16、アバターの背の高さを高さ32に決める。
- Z-Index (ゼットインデックス)。手前の物体と奥の物体が重なってるときに、どれが手前でどれが奥かっていう順番のこと。基本的に以下の順番になる。
- 0 : 最後にクリックしたメニューウィンドウ
- 1 : 0のウィンドウより前にクリックしたメニューウィンドウ達
- 2 : ゲーム世界内のアバターで、一番下(※)のマス目にいる人。クリックしたらプロフィール画面を表示する。
- 「一番下」は、正確には高さも計算に入れて「視覚的に一番手前」のこと。例えば(-10, -10, 高さ0)よりも、 (-11, -11, 高さ16)の方が視覚的に手前になる。(-12, -12, 高さ32)はもっと手前になる。
- 3 : ゲーム世界内のオブジェクト(家具とか)で、一番下のマス目にあるやつ。クリックしたら、キューブみたいな「乗れる」アイテムだとアバターがそこに移動する。椅子みたいな「座れる」アイテムでもアバターが移動して、そのあとに「座るアクション」をする。
- 4 : ゲーム世界内のアバターで、二番目に下のマス目にいる人
- 5 : ゲーム世界内のオブジェクト(家具とか)で、二番目に下のマス目にあるやつ
- …
- 最後 : ゲーム世界内の「床」オブジェクト。ここをクリックしたらアバターがここに移動するし、ドラッグ&ドロップしたらブラウザ画面内でゲーム画面が移動する。
こんな感じで。何か不都合が出てきたら仕様変更します。
