2D

CollisionShape2D

2D physics shape.

Author as a child of StaticBody2D or RigidBody2D.

Base node: Node2D

Source: perro_source/core/perro_nodes/src/nodes/physics_2d.rs

Fields

shape
pub struct CollisionShape2D {    pub base: Node2D,    pub shape: CollisionShapeDef2D,}

Scene template

[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 }   [CollisionShape2D]    shape = { kind = "box", size = (32, 32) }  [/CollisionShape2D][/node_instance]

Script API

Create

let node_id = create_node!(ctx, CollisionShape2D, "Spawned Node", ["enemy", "runtime"], parent_id);

Access / mutate

let value = with_node!(ctx, CollisionShape2D, node_id, |node| {    node.shape}); let pair = with_node!(ctx, CollisionShape2D, node_id, |node| {    (node.shape, node.shape)}); with_node_mut!(ctx, CollisionShape2D, node_id, |node| {    node.shape = Default::default();});