2D

Node2D

2D transform base.

Base 2D node. Descendants inherit position, rotation, scale, z_index, and visible.

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

Fields

positionrotationscalez_indexvisible
pub struct Node2D {    pub position: Vector2,    pub rotation: f32,    pub scale: Vector2,    pub z_index: i32,    pub visible: bool,}

Scene template

[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 }   [Node2D]    position = (120, 48)    rotation = 0.0    scale = (1, 1)    z_index = 1    visible = true  [/Node2D][/node_instance]

Script API

Create

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

Access / mutate

let value = with_node!(ctx, Node2D, node_id, |node| {    node.position}); let pair = with_node!(ctx, Node2D, node_id, |node| {    (node.position, node.rotation)}); with_node_mut!(ctx, Node2D, node_id, |node| {    node.position = Vector2::new(120.0, 48.0);});