physics_world_draw_debug()


Game Maker Language リファレンス > 組み込み関数 用途別 > 物理エンジン > physics_world_draw_debug()

physics_world_draw_debug()

この関数は、ルームの物理世界システムの表現を描画して、物理シーンを正しく機能させるのに問題がある場合のデバッグに役立ちます。 ゲームのレンダリング部分に問題がある場合があります。たとえば、スプライトが間違った位置または回転で描画され、物理が正しくないように見える場合や、計算が正しくない場合があります。 いずれにせよ、この関数は、物理システムで何が起こっているかを描画することにより、問題を見つけて解決するのに役立ちます。 これを行うには、システムのどの部分を描画するかを指定する必要があります。これは、さまざまな「フラグ」定数に格納されているビットから作成された値を渡すことによって行われます。

引数の種類詳細
phy_debug_render_aabbルーム軸に関連する各フィクスチャの絶対バウンディングボックスを表示します
phy_debug_render_collision_pairs現在衝突しているフィクスチャが表示されます
phy_debug_render_comsルーム内の各フィクスチャの重心を表示します
phy_debug_render_core_shapesルーム内のフィクスチャを構成する基本的な形状を表示します
phy_debug_render_jointsルーム内のすべてのフィクスチャの各ジョイントが描画されます
phy_debug_render_obbルーム内のフィクスチャの相対的な境界ボックスを表示します
phy_debug_render_shapesルーム内のフィクスチャを構成する実際の形状を表示します

したがって、これらのオプションのいずれか2つを描画するには、それらの2つでビット単位の「または」(GameMaker Studio 2ではこれは "|" (パイプ記号) で表されます)を実行し、関数が使用する結果の変数を格納する必要があります。 これは、重心と部屋のすべての器具のジョイントのみを描画する関数で使用する変数を設定する方法の例です。

flag = phy_debug_render_coms | phy_debug_render_shapes;

上記フラグを設定して実行すると以下の通りとなります。

physics_draw_debug_image.png

上記のコードでわかるように、画面には形状と重心のみが描画されます(また、それらの状態を表す色も表示されます。詳細については、オンラインのBox 2Dドキュメントを確認してください)。 同じように、デバッグしたい定数をさらに、またはすべて表示することができます...それらをすべて一緒に「または」表示するだけです。 さらにもう1つ注意する必要があります。この関数は、デバッグする深度よりも浅いインスタンスの描画イベントでのみ呼び出す必要があります。そうしないと、デバッグ情報を表示できません。

構文

physics_world_draw_debug(flag)
flag
さまざまなデバッグ機能を表示するためのフラグ値 (phy_debug_render_*)

戻り値

N/A
なし

flag = phy_debug_render_aabb | phy_debug_render_collision_pairs | phy_debug_render_obb;
physics_world_draw_debug(flag);

上記のコードは、現在の物理システム内で衝突しているすべての絶対境界ボックス、相対境界ボックス、およびフィクスチャを描画します。

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2021-01-23 2021-01-22 2021-01-21 2021-01-19 2021-01-18 2021-01-17 2021-01-16 2021-01-15 2021-01-14 2021-01-13

人気の10件

今日の8件



これまでの訪問者: 23
今日の訪問者: 1
昨日の訪問者: 0
閲覧者: 4