World:setCallbacks (日本語)

世界を更新する間に発生する衝突コールバックに対して関数を設定します。

四種類の Lua 関数を引数として与えることができます。nil 値は関数を削除します。

呼ばれたときには、各関数へ三つの引数が渡されます。最初の二つの引数は衝突が発生する取付具です。第三引数は、それらの間にある接点です。 postSolve コールバックは、各接点に対する追加の法線および接線力積を取得します。詳しくは注釈を参照してください。

各コールバックがいつ呼ばれることについて正確に知ることに興味があるならば、 Box2D の説明書を調べてください。

関数

LÖVE 0.8.0 から使用可能
このメソッドは以前のバージョンでは非対応です。

概要

World:setCallbacks( beginContact, endContact, preSolve, postSolve )

引数

function beginContact
二つの取付具が並行し始める時に呼ばれます。
function endContact
二つの取付具が並行を終える時に呼ばれます。これに関してはオブジェクトの衝突が破棄されるときに、世界の更新において外部で呼ばれます。
function preSolve
衝突が解決される前に呼ばれます。
function postSolve
衝突が解決された後に呼ばれます。

返値

ありません。


関数

LÖVE 0.8.0 から廃止
この異形は以降のバージョンでは非対応です。

概要

World:setCallbacks( add, persist, remove, result )

引数

function add
二つの形状が最初に衝突したときに呼ばれます。
function persist
衝突が 1 フレーム以上継続するとき、フレームごとに呼ばれます。
function remove
二つの形状において衝突が完了したときに呼ばれます。
function result
衝突が計算された後に呼ばれます。注意:このコールバックは LOVE での書き込み時に結果が適切に拘束されないため、このコールバックは呼ばれないか、または適切な引数が渡されません。

返値

ありません。

注釈

下記は postSolve コールバック用の引数です。法線および接線力積の数が接点の数と一致させることに注意してください。

function postSolve(fixture1, fixture2, contact, normal_impulse1, tangent_impulse1, normal_impulse2, tangent_impulse2)
-- do stuff
end

関連


そのほかの言語