HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1028
名無三HGIMG3の親子について3解決


名無三

リンク

2017/10/28(Sat) 17:01:47|NO.81702

グラボ等の関係でHGIMG4を使えない環境下にいる初心者です。
親子関係を作った際に、子供オブジェの座標を取得することは可能でしょうか?
getposだと不可能だったようなので質問します



この記事に返信する


暇人

リンク

2017/10/28(Sat) 18:21:28|NO.81706

子の座標で取得出来るのは
親を正位置に戻した状態のローカル座標(子に設定した座標そのまま)
親を回転や移動した場合は自分で計算する必要がある

objchildは子までしか正常に動作しない
子だけならfvdir使えば簡単に算出できる

#include "hgimg3.as" hgini setfont 16,16,12,1 ; font Tex select(cx,cy,px,mode) texload dir_exe+"/sample/hgimg3/fontchr.bmp" ; フォントテクスチャの登録 setsizef 2.0, 2.0 addbox mdid regobj obj_Parent,mdid regobj obj_Child,mdid objchild obj_Parent,obj_Child setpos obj_Child,5 //座標が正しいか確認用オブジェクト setcolor 255,50,50 addbox mdid regobj obj,mdid selcpos objset3 0.0, 0.0, 20.0 *main stick k,$fff if k&128 : goto *owari if k&64 {//Ctrlキーを押しながら方向キーで親の移動 selpos obj_Parent 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 {//方向キーとマウス左右クリックで親の回転 selang obj_Parent if k&1 : objadd3 0.0, -0.05, 0.0 if k&4 : objadd3 0.0, 0.05, 0.0 if k&2 : objadd3 0.05, 0.0, 0.0 if k&8 : objadd3 -0.05, 0.0, 0.0 if k&256 : objadd3 0.0, 0.0, 0.05 if k&512 : objadd3 0.0, 0.0, -0.05 } hgdraw getpos obj_Parent,x,y,z fprt "obj_Parent x="+x+" y="+y+" y="+z,8,8 getang obj_Parent,ax,ay,az getpos obj_Child,vx,vy,vz fvset fv,ax,-ay,az //親のアングルをfvにセット(アングルYは+-反転させる必要がある) fvdir fv,vx,vy,vz //子の座標をセットされてる角度で回転 fvadd fv,x,y,z //上で回転した座標に親の座標を加算 fprt "obj_Child x="+fv+" y="+fv(1)+" y="+fv(2),8,8+24 //座標が正しいか確認用オブジェクト setpos obj,fv,fv(1),fv(2) addang obj,,0.1 hgsync 16 goto *main *owari end /pre>



名無三

リンク

2017/10/28(Sat) 20:38:22|NO.81708

可不可だけでなくサンプルまで…ありがとうございます!



名無三

リンク

2017/10/28(Sat) 20:38:45|NO.81709





ONION software Copyright 1997-2021(c) All rights reserved.