今アクションゲームっぽいものを作っているのですが、
縦方向に動くエレベータ?というか動く床を作ろうとして
オブジェクトを qtype obj,type_bindX : qtype obj,type_bindR,1 の命令で縦にしか動かせなくしてから、
もし自機がそのオブジェクトに触れていたとき
オブジェクトに上方向の力を入れて上に動かす。
というものを作ったのですが
qspeedでやっても
qpush でやっても
動く床と自機が触れた瞬間に物理エンジンが暴走して動く床が天井と床を目に見えないほどの速度で
往復します。
または上に自機があった場合、自機と地面をものすごい速度で往復して自機が吹っ飛びます。
どうにかして自機とオブジェクトが触れている間に
安定してオブジェクトが上方向に少しずつ進む ということが出来ないでしょうか・・?
参考になるかわかりませんが自機と動く床の情報を書いておきます。
;自機
qaddpoly me,21,40,40,0,10,15,0
qtype me,type_bindr
qdamper me,0.7,0.7
qgroup me,1
;動く床
qaddpoly obj, 4, objx,objy,0,30,10,0
qdamper obj,1,0.7
qtype obj,type_bindX
qtype obj,type_bindR,1
qdamper obj,1,1
qgroup obj,32,0,1
オブジェクトが触れているかの判定は
qcollision me
qgetcol i,colx,coly
if i=obj :
で求めています。
どうかよろしくお願いします。