【Defold】ブロックを「押す」様な動きを実装する

2020/07/12Defold, DEVELOP

前提条件

押す側の GameObject、押される側の GameObject どちらもcollisionobject が設定されている状態にしておきます。

手順

押される側にこちらのスクリプトを追加します。

function on_message(self, message_id, message, sender)
    if message_id == hash("contact_point_response") then
        go.set_position(go.get_position() + message.normal * message.distance)
    end
end

contact_point_response をメッセージを受け取る様にします。contact_point_response メッセージを受け取った時、message には 衝突時の力の加わる方向 (message.normal) を取得することができます。

間違えやすいのは、collision_response ではなく、contact_point_response であるということです。僕は、はじめう動作しなくて、間違いに気づくのに時間がかかりました…。

結果

お知らせ

スポンサーリンク

Posted by kazupon