プレイ日記
とるて alulu-ami157
座標の取得は戻り値を変数で指定しておく必要がある。 ってどういう意味ですか? 初歩的な質問でスミマセン…
5そうだね
プレイ済み
返信[1]
親投稿
otta777 otta777a
座標の戻り値は2つか3つの数値となるので必ず変数に格納するため その変数名をOUT以降に記述して下さいって事です。 PRINT 関数名(引数[,引数…])って書式で記述できない関数ではこのように 変数を介して数値を取得します。
0そうだね
プレイ済み
返信[2]
親投稿
かなだらい aeroblaster
普通、関数と言われる「実行すると結果を数値や文字列として使える」 ものは1つの答え(戻り値)しかもらえませんが、 OUTが使えるものは複数の答えを受け取れます。 BGOFSはX,Y,Zのように複数の答えを受け取れるので IF 関数 THEN のように直接式に入れて、求めたXYZの値を使うことは できません。 なので、OUT に続くユーザーが用意した変数を指定して そこに答えを入れてもらう形になります。 これが >戻り値を変数で指定しておく ということです。
1そうだね
プレイ済み
返信[3]
親投稿
とるて alulu-ami157
なるほど! てっきりOUTの後ろで判定する場所を指定するのかと思ってました。 説明ありがとうございます!
0そうだね
プレイ済み
返信[4]
親投稿
とるて alulu-ami157
? 取得した座標はPRINTで表示できないってことですか? BGPUT O,3,5,1 BGOFS 0,OUT X,Y PRINT X ↓ 実行後 0 OK 自分の理解度の低さ…
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
BGPUT命令はBGキャラを描画する命令なのでBGのオフセットは 変更されません。 そのためBGOFS ~ OUTで座標を取得しても0のままになります。
0そうだね
プレイ済み
返信[6]
親投稿
とるて alulu-ami157
何度も質問すみません。 オフセットってなんですか?
0そうだね
プレイ済み
返信[7]
親投稿
かなだらい aeroblaster
基準点(BGでいうと画面左上)からどのくらいずれているか を示す言葉と思ってください。 以下のサンプルでOUTのないBGOFSをX,Yの値をいろいろ変えて行なった後 BGOFS OUT を行なってどう変わったかを実感してみてください。 BGPUT 0,3,5,1 BGOFS 0,50,100  ここですこしBGが移動します(画面の表示が少し移動する) BGOFS 0 OUT X,Y PRINT X,Y
1そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
オフセットとは補正という意味です。 画面の左上がBG画面のどの位置になるかをドット単位の 座標で指定できます。 BGのキャラクターサイズを16(初期値)にしている場合は BGOFS 0,16,16でレイヤー0のBGをの画面左上をキャラクタ単位の 座標1,1から表示します。 ACLS BGFILL 0,2,2,4,4,1:CLS:PRINT "offset 0,0" WAIT 120 BGOFS 0,16,16:CLS:PRINT "offset 16,16" WAIT 120 BGOFS 0,32,32:CLS:PRINT "offset 32,32" WAIT 120 これでBGOFS命令の働きが分かると思います。
1そうだね
プレイ済み
返信[9]
親投稿
とるて alulu-ami157
BGPUTとBGOFSは同じものと思ってましたが、意味合いが違うんですね。 解説ありがとうございます!
0そうだね
プレイ済み