====== 座標系設定 ====== ===== 座標基準の設定 ===== 画像を置く位置の指定[[レイヤ操作#image (画像の読み込み)|(imageタグのleft/top)]]において、[[title.iniの設定|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\\ (初期値)|{{ :座標基準00.png?nolink&200 |}}| |2|center|center|left\\ (初期値)|top\\ (初期値)|{{ :座標基準01.png?nolink&200 |}}| |3|left\\ (初期値)|top\\ (初期値)|center|center|{{ :座標基準02.png?nolink&200 |}}| |4|center|center|center|center|{{ :座標基準03.png?nolink&200 |}}| ※他の組み合わせも同様の考え方で設定できます。 ===== Imageタグのz属性と座標について ===== Imageタグのz属性で画像を拡大縮小して表示をすることができますが、拡大縮小と座標の関係に注意を払う必要があります。具体例を元に説明します。(※zhで水平方向のみ拡縮、zvで垂直方向のみ拡縮)\\ ゲーム画面が「横800×縦600」、画像が「横200×縦400」とします。\\ 黒枠が元の画像サイズ、赤枠が2倍(z=200)にした時、青枠が半分(z=50)にした時を示します。\\ ==== ImageのX座標基準がleft(初期値)の場合 ==== 元の画像サイズ前提で位置が調整されます。そのため、pos=centerにしても拡大縮小した画像が真ん中に表示されません。\\ {{:imageタグ01.png?nolink&600 |}} ==== ImageのX座標基準がcenterの場合 ==== 拡大縮小後の画像の中心を基準にします。pos=centerでも真ん中に表示されます。\\ {{:imageタグ02.png?nolink&600 \\|}} ※Y座標も同様の考え方でY座標基準がtopの場合、画像の上端を基準にして(上端Y位置が固定されて)拡大縮小され、Y座標基準がcenterの場合、画像の中心を基準にして(中心Y位置が固定されて)拡大縮小されます。 ===== 画像の横位置(X座標)設定 ===== 画像の横位置(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で画面の外に移動させる場合などに使います。| {{:x座標00.png?nolink&600 \\|}} ◆ 変更したい場合は[[title.iniの設定#|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ズレた場所に指定される| === pos指定時の縦位置について === ※途中でバグが発見されたため少々難解な仕様になっています。\\ 1. imageタグにてtop属性を指定していない場合\\  ● 画像の縦サイズが画面の縦サイズより小さい → 下合わせ(画像の可変が画面の下にピッタリ)\\ {{:x座標01.png?nolink&200 \\|}}  ● 画像の縦サイズが画面の縦サイズより大きい → 上合わせ(画像の上辺が画面の上にピッタリ)\\ {{:x座標02.png?nolink&200 \\|}} 2. imageタグにてtop属性がunder(top=under)の場合\\  ● 下合わせ(画像の下辺が画面の下にピッタリ)\\ {{:x座標03.png?nolink&400 \\|}} 3. imageタグにてtop属性がnochange(top=nochange)の場合 (2018.07追加)\\  ● top属性の位置調整はしません(元々の値を引きずる)\\ 4. 上記以外\\  ● top属性で指定された値そのまま\\ {{:x座標04.png?nolink&400 |}} ===== 視点の変更 ===== キャンバス描画の視点(基準点とスケール)を[[画面操作#view (視点変更)|viewスクリプト]]から一時的に変更することができます。 キャンバス(画面)の中央の視点(0, 0)を基準点とし。基準点からの上下、左右、拡大、回転を新たな視点として設定できます。\\ ^ 例 ^^ |@view x=0 y=0 z=100 rotate=0|{{:視点変更_1.png?nolink&400|}}| |@view x=100 y=50 z=100 rotate=0 time=3000\\ 視点が右上にずれるので対象物は左下方向にずれます|{{:視点変更_2.png?nolink&400|}}| |@view x=100 y=50 z=150 rotate=0 time=3000\\ ①に加え対象物を1.5倍でみます。|{{:視点変更_3.png?nolink&400|}}| |@view x=0 y=0 z=100 rotate=45 time=3000\\ 視点を45度傾けるので、対象物は-45度傾きます。|{{:視点変更_4.png?nolink&400|}}| |@view x=100 y=50 z=100 rotate=45 time=3000\\ 視点を右上にずらして、さらに45度傾けます。|{{:視点変更_5.png?nolink&400|}}|