Godot Engine:碰撞和碰撞檢測的簡單實例(RigidBody2D與StaticBody2D碰撞)

按照下圖場景樹所示構造一個場景:

  • 節點的名稱即爲節點類型
  • 紅色方框分別對應着每個CollisionShape2DShape(都是RectangleShape2D)的範圍
    在這裏插入圖片描述

注意:
爲了避免不必要的性能消耗,RigidBody以及RigidBody2D默認是不開啓碰撞檢測的,所以需要碰撞檢測的話必須做兩件事:

  • Contact Monitor設爲true(開啓碰撞檢測)
  • Contact Roported設爲一個大於0的值(返回碰撞結果最大數量)

在這裏插入圖片描述

下面是"RigidBody2D"上腳本的內容

“Body.gd”
把回調方法 collision_callback鏈接到RigidBody2D的信號body_entered

extends RigidBody2D

func _ready():
	connect("body_entered",self,"collision_callback")

func collision_callback(node):
	print("我是一個:" + name +  ",我撞上了一個" + node.name)

在這裏插入圖片描述

輸出結果

我是一個:RigidBody2D,我撞上了一個StaticBody2D
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章