BGOFS
BGレイヤーの表示座標を指定・取得
座標を指定
BGOFS layer[,x,y][,z]
座標を取得
BGOFS layer OUT [vx,vy][,vz]
パラメーター
layer:BGレイヤー番号(0~3)
x,y,z:指定座標(x,yは原点からの相対位置)
戻り値
vx,vy,vz:現在の座標(x,yは原点からの相対位置)
解説
BGレイヤーの「表示座標」を指定・取得します。
座標x,yは原点からの相対座標で、単位は「ドット」。
xを加算するとBG画面が左に、
yを加算するとBG画面が上に移動します。
座標zは通常の奥行き値(-256~1024(奥))です。
(原点はBGHOME参照(初期値(0,0))
座標を指定する場合、(x,y)かz、最低どちらか1つを指定する必要があります。
x=0,y=0のとき、原点座標=レイヤーの左上座標となります。
xにプラスを指定するとBG画面は原点より左に、yをプラスに指定するとBG画面は原点より上に移動します。
座標の取得も同じく、(vx,vy)かvz、のどちらか1つは戻り値の変数を指定する必要があります。
座標x,yは原点からの相対座標で、単位は「ドット」。
xを加算するとBG画面が左に、
yを加算するとBG画面が上に移動します。
座標zは通常の奥行き値(-256~1024(奥))です。
(原点はBGHOME参照(初期値(0,0))
座標を指定する場合、(x,y)かz、最低どちらか1つを指定する必要があります。
x=0,y=0のとき、原点座標=レイヤーの左上座標となります。
xにプラスを指定するとBG画面は原点より左に、yをプラスに指定するとBG画面は原点より上に移動します。
座標の取得も同じく、(vx,vy)かvz、のどちらか1つは戻り値の変数を指定する必要があります。
サンプルコード
座標の指定
フィールドサイズを100x100キャラとする。
フィールド中の現在地を(20,20)キャラの位置だとすると、1キャラ16ドットなので、16x20=320で、ドット位置は(320,320)
プログラムは以下のようになる。
(このプログラムだと厳密には、町キャラの左上が中心位置に来てしまうので、BGHOMEに微調整が必要)
最終行の「BGOFS 0,320,320」を以下に変えると分かりやすい。(5秒間かけて、320,320まで移動)
座標の取得BGOFS 0,-50 'Z座標のみ指定BGOFS 0,100,100 'X,Y座標を指定BGOFS 0,100,100,-50 'X,Y,Z座標を指定
上記の「ドラクエ」の例
3DSの上画面が400x240ドットなので中心点は(200,120)。フィールドサイズを100x100キャラとする。
フィールド中の現在地を(20,20)キャラの位置だとすると、1キャラ16ドットなので、16x20=320で、ドット位置は(320,320)
プログラムは以下のようになる。
これで画面の中心に町が表示される。移動させるにはBUTTON操作などでX,Yを変えればよい。'しょきせっていBGSCREEN 0,100,100 'BGレイヤーのサイズBGFILL 0,0,0,99,99,100 '全体を森で埋めるBGPUT 0,20,20,240 '(20,20)の位置に町を置くDIM X=320,Y=320'がめんいどうBGHOME 0,200,120BGOFS 0,X,Y
(このプログラムだと厳密には、町キャラの左上が中心位置に来てしまうので、BGHOMEに微調整が必要)
最終行の「BGOFS 0,320,320」を以下に変えると分かりやすい。(5秒間かけて、320,320まで移動)
BGANIM 0,"XY",-300,X,Y
参照
BGPAGE
BGキャラの定義に使用するグラフィックページを指定・取得
BGSCREEN
BGレイヤーの大きさを指定
BGCLR
BGレイヤーの設定をクリア
BGSHOW
BGレイヤーを表示状態にする
BGHIDE
BGレイヤーを非表示状態にする
BGCLIP
BGレイヤーを表示範囲を指定
BGHOME
BGレイヤーの原点を指定・取得
BGOFS
BGレイヤーの表示座標を指定・取得
BGROT
BGレイヤーの回転角度を変更・取得
BGSCALE
BGレイヤーの表示倍率を変更・取得
BGPUT
BGレイヤーにキャラクターを配置
BGFILL
BGレイヤーの指定範囲を指定キャラで埋める
BGGET
BGレイヤーのキャラクター情報を取得
BGANIM
BGレイヤーのアニメーションを設定
BGSTOP
BGレイヤーのアニメーションを一時停止
BGSTART
BGレイヤーのアニメーションを再開
BGCHK
BGレイヤーのアニメーション状況を取得
BGVAR
BGレイヤー用内部変数の値を設定・取得
BGCOPY
BGレイヤーの指定範囲を別の場所にコピー
BGLOAD
BGレイヤーに配列変数からデータを読込
BGSAVE
BGレイヤーのキャラ配置データを配列変数に格納
BGCOORD
BGレイヤー上での座標と画面上の座標を相互変換
BGCOLOR
BGレイヤーの色合いを変更・取得
BGFUNC
BGレイヤーにコールバック処理を割り当て