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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0607
RAYMENマウスでカメラ制御(HGIMG3)2解決


RAYMEN

リンク

2007/6/7(Thu) 12:49:00|NO.8825

現在HGIMG3を使ってFPSを作りたいと思っている者です。
カメラの向いている角度をマウスで制御したいのですが、
どうすればよいかが全くわかりません。もし知ってる方が
いらっしゃいましたら是非とも教えてください。



この記事に返信する


KIMU

リンク

2007/6/7(Thu) 19:23:57|NO.8828

簡単にやるとこんな感じ

#include "hgimg3.as" pi=atan(1,0)*2 ;π hgini setfont 16,16,12,1 texload dir_exe+"\\sample\\hgimg3\\fontchr.bmp" setuv 0,0,122,127 addmesh bgmod,1,1,0,100,100 texload dir_exe+"\\sample\\hgimg3\\btex.bmp" regobj bgobj,bgmod clscolor $4040 addpos HGOBJ_CAMERA,0,-10,0 repeat stick key,$3ff if key&128 {end} if key&512 { ;右クリックが押されていたら addcy=double(mx-mousex)*0.005 ;前回のマウス座標(mx,my)から現在のマウス座標を引いて適当に何百分の一ぐらいにする addcx=double(my-mousey)*0.008 }else{ addcx=0.0 addcy=0.0 addcz=0.0 } mx=mousex my=mousey addang HGOBJ_CAMERA,addcx,addcy,addcz ;現在のカメラアングルにマウスによる回転量を加算 hgdraw getang HGOBJ_CAMERA,cx,cy,cz fprt "cx("+strf("% 8.3f",(cx/pi)*180)+" )"+" cy("+strf("% 8.3f",((cy/pi)*180))+" )"+pi,8,8 fprt "addcx("+strf("% 8.3f",((addcx/pi)*180))+" )"+" addcy("+strf("% 8.3f",((addcy/pi)*180))+" )",8,32 hgsync 10 loop
これだとカメラの動きとしては機敏すぎて滑らかさに欠けるかな・・・
(滑らかさが欲しい時には目的の角度に少しずつ近づけたりする)



RAYMEN

リンク

2007/6/7(Thu) 21:45:40|NO.8829

教えていただき、本当にありがとうございます。
実際に試してみたら、問題なくできました。



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