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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1004
やまねこObaQのオブジェクトのめり込みを無くしたいのですが2解決


やまねこ

リンク

2009/10/4(Sun) 00:26:35|NO.28135

ObaQを用いたアクションゲーム(マリオっぽい感じです)を作っているのですが、
ジャンプ時など、ある程度の速度で着地するとオブジェクトが地面に大きくめり込んでしまうのをどうにかしたいと思っています。
ちなみにy座標にlimitをかけてみたのですが、そうすると跳ね返りが不自然になってしまいます(いったん制止してまた跳ね上がる)。
どなたか助言を頂けると有難いです。



この記事に返信する


K-s

リンク

2009/10/4(Sun) 11:09:32|NO.28136

qsetreq の REQ_PHYSICS_RATE で計算回数を多く設定することで、ある程度はめり込みを軽減できます。

#include "obaq.as" qgetreq rate, REQ_PHYSICS_RATE ; デフォルトは 4 *reset qsetreq REQ_PHYSICS_RATE, rate title "計算回数 : " + int(rate) qreset qgravity 0, 0 qaddpoly obj, 4, 40, 60 qtype obj, type_bind qaddpoly my, 3, 120, 60 qinertia my, 1 qgetpos my, x, y, r qspeed my, -cos(r) * 6 / rate, sin(r) * 6 / rate, , 1 ; 速度設定は rate に比例して大きくなる ;(1フレームで何度も加算される?)ため rate で割ってやる *main redraw 0 color boxf qexec stick key if (key & 2) : rate++ if (key & 8) : if (rate > 1) : rate-- if (key & 16) : goto *reset qdraw color 255, 255, 255 pos 40, 30 mes "カーソル上下で 計算回数 変更" mes "スペースバーを押すと 計算回数 " + int(rate) + " で再スタート!" redraw 1 await 12 goto *main

ただ計算回数を多くするほど処理も重くなるので、
できるだけめり込まない速度範囲内でゲームを作っていったほうがいいと思います。



やまねこ

リンク

2009/10/4(Sun) 12:16:42|NO.28137

なるほど!
計算回数を多くすると言うのは盲点でした。
ゲームが遅くならない程度に調整したいと思います。
ありがとうございました。



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