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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
1102
ばってんhgimg4の2DオブジェクトにOBAQやhgimg4の物理属性(gppbind)の適用は可能ですか5解決


ばってん

リンク

2017/11/2(Thu) 10:23:14|NO.81766

hgimg4の2DオブジェクトにOBAQやhgimg4の物理属性(gppbind)の適用は可能でしょうか?

可能だとしたらどんなスクリプトを書けばよいでしょうか。

2Dオブジェクトはgpsprで生成したものを使用したいです。



この記事に返信する


砂時 計

リンク

2017/11/2(Thu) 22:08:52|NO.81767

ちょっとずれてますがまずはOBAQと組み合わせてみました。
koma.png は同梱されている hsptvフォルダのものを指定してください。


#include "hgimg4.as" #include "obaq.as" #const WID_CELL 1 setreq SYSREQ_VSYNC, 1 gpreset celload "..\\..\\hsptv\\koma.png", WID_CELL celdiv WID_CELL, 75,80, 75/2, 80/2 dim vids,5 foreach vids gpspr id, WID_CELL, cnt vids.cnt = id loop // OBAQ w = ginfo(26) / 4 h = ginfo(27) / 4 qreset qborder -w/2, -h/2, w/2, h/2 dim qids,5 foreach qids qaddpoly id, 5, 20 + cnt*12, 20 + cnt*16, 0, 75.0/8.0, 80.0/8.0 qdamper id, 0.999, 0 qids.cnt = id loop repeat redraw 0 color 0,0,0x33 boxf qexec foreach qids qgetpos qids.cnt, xx, yy, aa setpos vids.cnt, xx * 4.0, yy * 4.0, 0.0 setang vids.cnt, 0,0, aa loop gpdraw redraw 1 await 1000/60 loop



ばってん

リンク

2017/11/3(Fri) 10:28:18|NO.81773

砂時 計さま

詳細なサンプルをありがとうございます。

座標計算をさせているのですね、
分かりやすいサンプルありがとうございます。

参考にさせていただきます



暇人

リンク

2017/11/3(Fri) 19:08:15|NO.81778

obaq使うならqcnvaxisでスクリーン座標にも逆変換もきる

#include "hgimg4.as" #include "obaq.as" #const WID_CELL 1 setreq SYSREQ_VSYNC, 1 gpreset celload dirinfo(5)+"\\koma.png", WID_CELL celdiv WID_CELL, 75,80, 80/2, 80/2 max=20 dim vids,max foreach vids gpspr id, WID_CELL, cnt\5 vids.cnt = id loop // OBAQ w = ginfo(26) h = ginfo(27) qreset qcnvaxis qw,qh,w, h,1 qborder -qw/2, -qh/2, qw/2, qh/2 qcnvaxis qcw,qch,80.0/2,80.0/2,1 dim qids,max foreach qids qcnvaxis qx,qy,50+60*(cnt\10),150+50*(cnt\10)-80*(cnt/10),1 qaddpoly id, 5, qx,qy, 0, qcw,qch,0 qdamper id, 0.999, 0 qids.cnt = id loop repeat redraw 0 color 0,0,0x33 boxf qexec foreach qids qgetpos qids.cnt, qx, qy, aa qcnvaxis x, y, qx, qy,0 setpos vids.cnt, x, y, 0.0 setang vids.cnt, 0,0, aa loop gpdraw redraw 1 await 1000/60 loop



砂時 計

リンク

2017/11/4(Sat) 19:20:02|NO.81785

暇人さんフォローありがとうございます。

さてgppbindの方ですが
gpspr は gppbind しても物理演算の対象にならないみたいですね。

ちょっとくやしいので無理矢理 gpbox の位置を反映してするコードを書いてみました。


#include "hgimg4.as" #const WID_CELL 1 #const ALPHA 0 //#const ALPHA 255 setreq SYSREQ_VSYNC, 1 gpreset celload dirinfo(5)+"\\koma.png", WID_CELL celdiv WID_CELL, 75,80, 80/2, 80/2 max=20 dim vids,max foreach vids gpspr id, WID_CELL, cnt\5 vids.cnt = id loop dim bids, max foreach bids gpbox id, 1.6, 0xff0000 setpos id, double(cnt-max/2)*0.5, 5.0, double(cnt&5)*0.8 gppbind id, 1.0 gppset id, GPPSET_FRICTION, 0.1, 1.0 setalpha id, ALPHA bids.cnt = id loop // 床 gpfloor id, 50,50, 0x009900 setpos id, 0,-4,0 gppbind id, 0 setalpha id, ALPHA setpos GPOBJ_CAMERA, 0,20,1 gplookat GPOBJ_CAMERA, 0,0,0 repeat redraw 0 color 0,0,0x33 boxf foreach bids getpos bids.cnt, x,y,z gpcnvaxis xx,yy,zz, x,y,z setpos vids.cnt, xx,yy,zz loop gpdraw redraw 1 await 1000/60 loop



ばってん

リンク

2017/11/5(Sun) 17:59:31|NO.81789

暇人さま、砂時 計さま。
追加のサンプルありがとうございます。
gpcnvaxisか機能していなかったので
ようやくHSP35の正式版をインストールしました。
まだ理解が追い付いていませんが、参考にさせていただきますm(__)m



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