PhysicsShapeQueryParameters2D
继承: RefCounted < Object
为 PhysicsDirectSpaceState2D.intersect_shape 提供参数。
描述
你可以通过修改这个对象的形状等属性来为 PhysicsDirectSpaceState2D.intersect_shape 配置参数。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
属性说明
bool collide_with_areas = false
如果为 true
,查询将考虑 Area2D。
bool collide_with_bodies = true
如果为 true
,查询将考虑 PhysicsBody2D。
int collision_mask = 4294967295
查询将检测的物理层(作为位掩码)。默认情况下,会检测所有碰撞层。有关详细信息,请参阅文档中的 《碰撞层和掩码》。
RID[] exclude = []
将被排除在碰撞之外的对象的 RID 列表。请使用 CollisionObject2D.get_rid 来获取与派生自 CollisionObject2D 的节点关联的 RID。
float margin = 0.0
形状的碰撞边距。
Vector2 motion = Vector2(0, 0)
正在查询的形状的运动。
Resource shape
将用于碰撞/相交查询的 Shape2D。存储的是实际的引用,可以避免该形状在进行查询时被释放,因此请优先使用这个属性,而不是 shape_rid。
RID shape_rid = RID()
The queried shape’s RID that will be used for collision/intersection queries. Use this over shape if you want to optimize for performance using the Servers API:
GDScriptC#
var shape_rid = PhysicsServer2D.circle_shape_create()
var radius = 64
PhysicsServer2D.shape_set_data(shape_rid, radius)
var params = PhysicsShapeQueryParameters2D.new()
params.shape_rid = shape_rid
# Execute physics queries here...
# Release the shape when done with physics queries.
PhysicsServer2D.free_rid(shape_rid)
RID shapeRid = PhysicsServer2D.CircleShapeCreate();
int radius = 64;
PhysicsServer2D.ShapeSetData(shapeRid, radius);
var params = new PhysicsShapeQueryParameters2D();
params.ShapeRid = shapeRid;
// Execute physics queries here...
// Release the shape when done with physics queries.
PhysicsServer2D.FreeRid(shapeRid);
Transform2D transform = Transform2D(1, 0, 0, 1, 0, 0)
void set_transform ( Transform2D value )
Transform2D get_transform ( )
被查询形状的变换矩阵。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.