次のようなスクリプトを実行すると、内部座標(0,0)に設置したつもりのオブジェクトが左上のほうに設置されてしまいます。
ちなみにオブジェクトは座標固定なので、設置後に移動しているわけではありません。
#include "obaq.as" screen 0,640,480 ; ウィンドウ初期化 qreset ; OBAQの初期化 qborder -100,-100,100,100 ;ここで中央の灰色●が内部座標(0,0)と確認できる。 qview 2, 2, 100, 100 ;見やすいよう拡大率を変更 ;図形を追加 qaddpoly my, 3, 0,0,0 ; 図形を追加。配置座標は内部座標(0,0)のつもりだけど… qtype my, type_bind ; qpos my,0,0,0 ;ここを有効にしても症状は変わらない。 qgetpos my, x, y, r ;現在のオブジェクト座標(内部座標)を取得 *main redraw 0 : color 0,0,0:boxf qexec ; OBAQによるオブジェクトの更新 pos 0,0 : color 255,255,255 : mes "オブジェクトの内部座標:("+x+", "+y+")" ;オブジェクト座標表示 qdraw ; オブジェクトの描画 redraw 1 : await 12 goto *main
qborder命令では内部座標は画面中心付近の灰色の●が(0,0)と説明され、また結果もそのとおりです。
しかしオブジェクトを(0,0)に設置すると灰色の●より左上に配置されます。
オブジェクトを設置するときの内部座標(0,0)は何を基準に決定されているのでしょうか。
また外壁の時と値がずれている理由は何でしょうか。