画像を置く位置の指定(imageタグのleft/top)において、title.iniにパラメータを設定することにより、独自の座標基準(画像の原点をどこにするか)を選択することができます。
| パラメータ名 | 値 | 説明 |
|---|---|---|
| advmaster_canvas_x_base | left(初期値) center | ゲーム画面横方向(X座標)の基準点(原点)を指定します。 left:左端基準(左端が0) center:真ん中基準(真ん中が0) |
| advmaster_canvas_y_base | top(初期値) center | ゲーム画面縦横方向(Y座標)の基準点(原点)を指定します。 top:上端基準(上端が0) center:真ん中基準(真ん中が0) |
| advmaster_image_x_base | left(初期値) center | 画像横位置(X座標)の基準点(原点)を指定します。 left:左端基準(左端合わせ) center:真ん中基準(真ん中合わせ) |
| advmaster_image_y_base | top(初期値) center | 画像縦位置(Y座標)の基準点(原点)を指定します。 top:上端基準(上端合わせ) center:真ん中基準(真ん中合わせ) |
title.iniの記述方法
| systemVar=advmaster_canvas_x_base,center systemVar=advmaster_canvas_y_base,center systemVar=advmaster_image_x_base,left systemVar=advmaster_image_y_base,center |
imageタグで画像の基準点(原点)を設定することも可能です。画像毎に原点を指定したい場合に使用します。
| orgx | X座標(横方向)の原点を指定します。advmaster_image_x_baseと同じ意味になります。 left(初期値):画像の左端が原点になります。 center:画像の真ん中が原点になります。 数字:画像の左上から指定した位置が原点になります。(2022.01追加) (add/sub)数字:画像中心から指定した相対位置が原点になります。(addは右方向、subは左方向)(2022.01追加) 例 orgx=center orgx=left orgx=50 orgx=sub30 orgx=add30 |
|---|---|
| orgy | Y座標(縦方向)の原点を指定します。advmaster_image_y_baseと同じ意味になります。 top(初期値):画像の上端が原点になります。 center:画像の真ん中が原点になります。 数字:画像左上から指定した位置が原点になります。(2022.01追加) (add/sub)数字:画像中心から指定した相対位置が原点になります。(addは下方向、subは上方向)(2022.01追加) 例 orgy=top orgy=c ※=cは=centerの省略形です orgy=100 orgy=sub50 orgy=add25 |
ゲーム画面が「横800×縦600」、画像が「横200×縦400」で、「left=300 top=0」とした場合。
| # | canvas | image | 配置「left=300 top=0」 | ||
|---|---|---|---|---|---|
| X | Y | X | Y | ||
| 1 | left (初期値) | top (初期値) | left (初期値) | top (初期値) | ![]() |
| 2 | center | center | left (初期値) | top (初期値) | ![]() |
| 3 | left (初期値) | top (初期値) | center | center | ![]() |
| 4 | center | center | center | center | ![]() |
※他の組み合わせも同様の考え方で設定できます。
Imageタグのz属性で画像を拡大縮小して表示をすることができますが、拡大縮小と座標の関係に注意を払う必要があります。具体例を元に説明します。(※zhで水平方向のみ拡縮、zvで垂直方向のみ拡縮)
ゲーム画面が「横800×縦600」、画像が「横200×縦400」とします。
黒枠が元の画像サイズ、赤枠が2倍(z=200)にした時、青枠が半分(z=50)にした時を示します。
元の画像サイズ前提で位置が調整されます。そのため、pos=centerにしても拡大縮小した画像が真ん中に表示されません。
拡大縮小後の画像の中心を基準にします。pos=centerでも真ん中に表示されます。
※Y座標も同様の考え方でY座標基準がtopの場合、画像の上端を基準にして(上端Y位置が固定されて)拡大縮小され、Y座標基準がcenterの場合、画像の中心を基準にして(中心Y位置が固定されて)拡大縮小されます。
画像の横位置(X座標)はimageタグにて、left属性かpos属性で指定します。left属性はダイレクトに数字を指定し、pos属性は画面のどのあたりに配置するかを文字で指定します(pos=left等)。
以下、pos属性のバリエーションと初期値です。
※スクリプトでは略称(カッコ内の文字)が使用できます。
| 項目 | 内容 |
|---|---|
| out_left (ol) | 画面左側外。 画像は画面に出ません。moveで画面の外に移動させる場合などに使います。 |
| more_left (ml) | 画面左端から12.5%の位置。 leftと画面左端の中間。 |
| left (l) | 画面左端から25%の位置。 画面中央と画面左端の中間。 |
| left_center (lc) | 画面左端から37.5%の位置。 画面中央とleftの中間。 |
| center (c) | 画面中央。 |
| right_center (rc) | 画面左端から62.5%の位置。 画面中央とrightの中間。 |
| right (r) | 画面左端から75%の位置。 画面中央と画面右端の中間。 |
| more_right (mr) | 画面左端から87.5%の位置。 rightと画面右端の中間。 |
| out_right (or) | 画面右側外。 画像は画面に出ません。moveで画面の外に移動させる場合などに使います。 |
◆ 変更したい場合はtitle.iniに設定します。
例:以下はleftを画面左端から22%の位置に、more_rightを画面左端から90%の位置に設定しています。
| system_posx_left=22 system_posx_more_right=90 |
◆ imageタグでleftとpos両方とも記述した場合、左から順に判断されます
| 例 @image (略) left=120 pos=center →後述のpos=centerで上書きされるのでleft=120は無意味 @image (略) pos=c left=120 →後述のleft=120で上書きされるのでpos=cで無意味 @image (略) pos=c left=add120 →pos=cで中央に移動後、left=add120なので右方向に120pxズレた場所に指定される |
※途中でバグが発見されたため少々難解な仕様になっています。
1. imageタグにてtop属性を指定していない場合
● 画像の縦サイズが画面の縦サイズより小さい → 下合わせ(画像の可変が画面の下にピッタリ)
● 画像の縦サイズが画面の縦サイズより大きい → 上合わせ(画像の上辺が画面の上にピッタリ)
2. imageタグにてtop属性がunder(top=under)の場合
● 下合わせ(画像の下辺が画面の下にピッタリ)
3. imageタグにてtop属性がnochange(top=nochange)の場合 (2018.07追加)
● top属性の位置調整はしません(元々の値を引きずる)
4. 上記以外
● top属性で指定された値そのまま
キャンバス描画の視点(基準点とスケール)をviewスクリプトから一時的に変更することができます。
キャンバス(画面)の中央の視点(0, 0)を基準点とし。基準点からの上下、左右、拡大、回転を新たな視点として設定できます。
| 例 | |
|---|---|
| @view x=0 y=0 z=100 rotate=0 | ![]() |
| @view x=100 y=50 z=100 rotate=0 time=3000 視点が右上にずれるので対象物は左下方向にずれます | ![]() |
| @view x=100 y=50 z=150 rotate=0 time=3000 ①に加え対象物を1.5倍でみます。 | ![]() |
| @view x=0 y=0 z=100 rotate=45 time=3000 視点を45度傾けるので、対象物は-45度傾きます。 | ![]() |
| @view x=100 y=50 z=100 rotate=45 time=3000 視点を右上にずらして、さらに45度傾けます。 | ![]() |