1命令で目的を果たせる命令は無いので
画面外のオブジェクトに何をしたいか分からないため
この方法が有効かは分からない
#include "hgimg3.as"
screen 0,640,480,0
cls 4
hgini
setfont 16,16,12,1 ; font Tex select(cx,cy,px,mode)
texload dir_exe+"\\sample\\hgimg3\\fontchr.bmp" ; フォントテクスチャの登録
; BOXオブジェクトを登録
;
setsizef 1.0, 1.0 ; BOXのXYZサイズ
setuv 0,0,127,127 ; テクスチャUV座標
addbox mdid ; BOXモデルを作成
texload dir_exe+"\\sample\\hgimg3\\btex.bmp" ; テクスチャの登録
repeat 30
regobj obj,mdid ; BOXモデルをオブジェクトとして登録
setpos obj,10-rnd(20),10-rnd(20),-rnd(50)
setcoli obj,1,2 //検索に必要なグループ設定
loop
; カメラ位置設定
;
selcpos
objset3 0.0, 0.0, 0.0
*main
; 描画メイン
;
hgdraw ; 描画処理
outcnt=0
findobj 0,1 //グループ1を検索設定
repeat
nextobj oid //検索
if oid<0 {break}//無かった
getpos oid,x,y,z
hgcnvaxis var_x,var_y,var_z,x,y,z
if var_x<0 or var_y<0 or var_z<0.0 or var_x>640 or var_y>480 or var_z>1.0 {//オブジェクト中心がカメラ外
//画面左側にIDを並べて表示
fprt ""+oid,(outcnt/20)*40,(outcnt\20)*16
outcnt++
}else{//オブジェクト中心がカメラ内
//オブジェクトのスクリーン座標にID表示
fprt ""+oid,var_x,var_y
}
loop
hgsync 16 ; 時間待ち
stick k,127
if k&128 : goto *owari ; [ESC]で終了
; キー操作でカメラ回転
; (スペースキー押しで移動)
;
if k&16 {
selcpos
if k&2 : objadd3 0.0, -0.05, 0.0
if k&8 : objadd3 0.0, 0.05, 0.0
if k&4 : objadd3 0.05, 0.0, 0.0
if k&1 : objadd3 -0.05, 0.0, 0.0
} else {
selcang
if k&1 : objadd3 0.0, 0.01, 0.0
if k&4 : objadd3 0.0, -0.01, 0.0
if k&2 : objadd3 0.01, 0.0, 0.0
if k&8 : objadd3 -0.01, 0.0, 0.0
}
goto *main
*owari
end