pub struct PlatformWorld { /* private fields */ }Expand description
A struct representing a 2D platformer game world with physics simulations.
Implementations§
Source§impl PlatformWorld
impl PlatformWorld
Sourcepub fn get_camera(&self) -> PlatformCamera
pub fn get_camera(&self) -> PlatformCamera
Gets the camera used to control the view of the game world.
Sourcepub fn move_child(&mut self, child: &dyn INode, new_order: i32)
pub fn move_child(&mut self, child: &dyn INode, new_order: i32)
Moves a child node to a new order for a different layer.
§Arguments
child- The child node to be moved.new_order- The new order of the child node.
Sourcepub fn set_layer_ratio(&mut self, order: i32, ratio: &Vec2)
pub fn set_layer_ratio(&mut self, order: i32, ratio: &Vec2)
Sets the parallax moving ratio for a given layer to simulate 3D projection effect.
§Arguments
order- The order of the layer to set the ratio for.ratio- The new parallax ratio for the layer.
Sourcepub fn get_layer_ratio(&mut self, order: i32) -> Vec2
pub fn get_layer_ratio(&mut self, order: i32) -> Vec2
Sourcepub fn set_layer_offset(&mut self, order: i32, offset: &Vec2)
pub fn set_layer_offset(&mut self, order: i32, offset: &Vec2)
Sets the position offset for a given layer.
§Arguments
order- The order of the layer to set the offset for.offset- AVec2representing the new position offset for the layer.
Sourcepub fn get_layer_offset(&mut self, order: i32) -> Vec2
pub fn get_layer_offset(&mut self, order: i32) -> Vec2
Sourcepub fn swap_layer(&mut self, order_a: i32, order_b: i32)
pub fn swap_layer(&mut self, order_a: i32, order_b: i32)
Swaps the positions of two layers.
§Arguments
order_a- The order of the first layer to swap.order_b- The order of the second layer to swap.
Sourcepub fn remove_layer(&mut self, order: i32)
pub fn remove_layer(&mut self, order: i32)
Sourcepub fn remove_all_layers(&mut self)
pub fn remove_all_layers(&mut self)
Removes all layers from the game world.
Sourcepub fn new() -> PlatformWorld
pub fn new() -> PlatformWorld
Trait Implementations§
Source§impl Clone for PlatformWorld
impl Clone for PlatformWorld
Source§fn clone(&self) -> PlatformWorld
fn clone(&self) -> PlatformWorld
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Drop for PlatformWorld
impl Drop for PlatformWorld
Source§impl INode for PlatformWorld
impl INode for PlatformWorld
Source§fn set_angle_x(&mut self, val: f32)
fn set_angle_x(&mut self, val: f32)
Sets the X-axis rotation angle of the node in degrees.
Source§fn get_angle_x(&self) -> f32
fn get_angle_x(&self) -> f32
Gets the X-axis rotation angle of the node in degrees.
Source§fn set_angle_y(&mut self, val: f32)
fn set_angle_y(&mut self, val: f32)
Sets the Y-axis rotation angle of the node in degrees.
Source§fn get_angle_y(&self) -> f32
fn get_angle_y(&self) -> f32
Gets the Y-axis rotation angle of the node in degrees.
Source§fn set_scale_x(&mut self, val: f32)
fn set_scale_x(&mut self, val: f32)
Sets the X-axis scale factor of the node.
Source§fn get_scale_x(&self) -> f32
fn get_scale_x(&self) -> f32
Gets the X-axis scale factor of the node.
Source§fn set_scale_y(&mut self, val: f32)
fn set_scale_y(&mut self, val: f32)
Sets the Y-axis scale factor of the node.
Source§fn get_scale_y(&self) -> f32
fn get_scale_y(&self) -> f32
Gets the Y-axis scale factor of the node.
Source§fn set_position(&mut self, val: &Vec2)
fn set_position(&mut self, val: &Vec2)
Sets the position of the node as a Vec2 object.
Source§fn get_position(&self) -> Vec2
fn get_position(&self) -> Vec2
Gets the position of the node as a Vec2 object.
Source§fn set_skew_x(&mut self, val: f32)
fn set_skew_x(&mut self, val: f32)
Sets the X-axis skew angle of the node in degrees.
Source§fn get_skew_x(&self) -> f32
fn get_skew_x(&self) -> f32
Gets the X-axis skew angle of the node in degrees.
Source§fn set_skew_y(&mut self, val: f32)
fn set_skew_y(&mut self, val: f32)
Sets the Y-axis skew angle of the node in degrees.
Source§fn get_skew_y(&self) -> f32
fn get_skew_y(&self) -> f32
Gets the Y-axis skew angle of the node in degrees.
Source§fn set_visible(&mut self, val: bool)
fn set_visible(&mut self, val: bool)
Sets whether the node is visible.
Source§fn is_visible(&self) -> bool
fn is_visible(&self) -> bool
Gets whether the node is visible.
Source§fn set_anchor(&mut self, val: &Vec2)
fn set_anchor(&mut self, val: &Vec2)
Sets the anchor point of the node as a Vec2 object.
Source§fn get_anchor(&self) -> Vec2
fn get_anchor(&self) -> Vec2
Gets the anchor point of the node as a Vec2 object.
Source§fn set_height(&mut self, val: f32)
fn set_height(&mut self, val: f32)
Sets the height of the node.
Source§fn get_height(&self) -> f32
fn get_height(&self) -> f32
Gets the height of the node.
Source§fn set_opacity(&mut self, val: f32)
fn set_opacity(&mut self, val: f32)
Sets the opacity of the node, should be 0 to 1.0.
Source§fn get_opacity(&self) -> f32
fn get_opacity(&self) -> f32
Gets the opacity of the node, should be 0 to 1.0.
Source§fn set_color3(&mut self, val: &Color3)
fn set_color3(&mut self, val: &Color3)
Sets the color of the node as a Color3 object.
Source§fn get_color3(&self) -> Color3
fn get_color3(&self) -> Color3
Gets the color of the node as a Color3 object.
Source§fn set_pass_opacity(&mut self, val: bool)
fn set_pass_opacity(&mut self, val: bool)
Sets whether to pass the opacity value to child nodes.
Source§fn is_pass_opacity(&self) -> bool
fn is_pass_opacity(&self) -> bool
Gets whether to pass the opacity value to child nodes.
Source§fn set_pass_color3(&mut self, val: bool)
fn set_pass_color3(&mut self, val: bool)
Sets whether to pass the color value to child nodes.
Source§fn is_pass_color3(&self) -> bool
fn is_pass_color3(&self) -> bool
Gets whether to pass the color value to child nodes.
Source§fn set_transform_target(&mut self, val: &dyn INode)
fn set_transform_target(&mut self, val: &dyn INode)
Sets the target node acts as a parent node for transforming this node.
Source§fn get_transform_target(&self) -> Option<Node>
fn get_transform_target(&self) -> Option<Node>
Gets the target node acts as a parent node for transforming this node.
Source§fn set_scheduler(&mut self, val: &Scheduler)
fn set_scheduler(&mut self, val: &Scheduler)
Sets the scheduler used for scheduling update and action callbacks.
Source§fn get_scheduler(&self) -> Scheduler
fn get_scheduler(&self) -> Scheduler
Gets the scheduler used for scheduling update and action callbacks.
Source§fn get_children(&self) -> Option<Array>
fn get_children(&self) -> Option<Array>
Gets the children of the node as an Array object, could be None.
Source§fn get_parent(&self) -> Option<Node>
fn get_parent(&self) -> Option<Node>
Gets the parent of the node, could be None.
Source§fn is_running(&self) -> bool
fn is_running(&self) -> bool
Gets whether the node is currently running in a scene tree.
Source§fn is_scheduled(&self) -> bool
fn is_scheduled(&self) -> bool
Gets whether the node is currently scheduling a function for updates.
Source§fn get_action_count(&self) -> i32
fn get_action_count(&self) -> i32
Gets the number of actions currently running on the node.
Source§fn get_data(&self) -> Dictionary
fn get_data(&self) -> Dictionary
Gets additional data stored on the node as a Dictionary object.
Source§fn set_touch_enabled(&mut self, val: bool)
fn set_touch_enabled(&mut self, val: bool)
Sets whether touch events are enabled on the node.
Source§fn is_touch_enabled(&self) -> bool
fn is_touch_enabled(&self) -> bool
Gets whether touch events are enabled on the node.
Source§fn set_swallow_touches(&mut self, val: bool)
fn set_swallow_touches(&mut self, val: bool)
Sets whether the node should swallow touch events.
Source§fn is_swallow_touches(&self) -> bool
fn is_swallow_touches(&self) -> bool
Gets whether the node should swallow touch events.
Source§fn set_swallow_mouse_wheel(&mut self, val: bool)
fn set_swallow_mouse_wheel(&mut self, val: bool)
Sets whether the node should swallow mouse wheel events.
Source§fn is_swallow_mouse_wheel(&self) -> bool
fn is_swallow_mouse_wheel(&self) -> bool
Gets whether the node should swallow mouse wheel events.
Source§fn set_keyboard_enabled(&mut self, val: bool)
fn set_keyboard_enabled(&mut self, val: bool)
Sets whether keyboard events are enabled on the node.
Source§fn is_keyboard_enabled(&self) -> bool
fn is_keyboard_enabled(&self) -> bool
Gets whether keyboard events are enabled on the node.
Source§fn set_controller_enabled(&mut self, val: bool)
fn set_controller_enabled(&mut self, val: bool)
Sets whether controller events are enabled on the node.
Source§fn is_controller_enabled(&self) -> bool
fn is_controller_enabled(&self) -> bool
Gets whether controller events are enabled on the node.
Source§fn set_render_group(&mut self, val: bool)
fn set_render_group(&mut self, val: bool)
Sets whether to group the node’s rendering with all its recursive children.
Source§fn is_render_group(&self) -> bool
fn is_render_group(&self) -> bool
Gets whether to group the node’s rendering with all its recursive children.
Source§fn set_show_debug(&mut self, val: bool)
fn set_show_debug(&mut self, val: bool)
Sets whether debug graphic should be displayed for the node.
Source§fn is_show_debug(&self) -> bool
fn is_show_debug(&self) -> bool
Gets whether debug graphic should be displayed for the node.
Source§fn set_render_order(&mut self, val: i32)
fn set_render_order(&mut self, val: i32)
Sets the rendering order number for group rendering. Nodes with lower rendering orders are rendered earlier.
Source§fn get_render_order(&self) -> i32
fn get_render_order(&self) -> i32
Gets the rendering order number for group rendering. Nodes with lower rendering orders are rendered earlier.
Source§fn add_child_with_order_tag(&mut self, child: &dyn INode, order: i32, tag: &str)
fn add_child_with_order_tag(&mut self, child: &dyn INode, order: i32, tag: &str)
Adds a child node to the current node. Read more
Source§fn add_child_with_order(&mut self, child: &dyn INode, order: i32)
fn add_child_with_order(&mut self, child: &dyn INode, order: i32)
Adds a child node to the current node. Read more
Source§fn add_to_with_order_tag(
&mut self,
parent: &dyn INode,
order: i32,
tag: &str,
) -> Node
fn add_to_with_order_tag( &mut self, parent: &dyn INode, order: i32, tag: &str, ) -> Node
Adds the current node to a parent node. Read more
Source§fn add_to_with_order(&mut self, parent: &dyn INode, order: i32) -> Node
fn add_to_with_order(&mut self, parent: &dyn INode, order: i32) -> Node
Adds the current node to a parent node. Read more
Source§fn add_to(&mut self, parent: &dyn INode) -> Node
fn add_to(&mut self, parent: &dyn INode) -> Node
Adds the current node to a parent node. Read more
Source§fn remove_child(&mut self, child: &dyn INode, cleanup: bool)
fn remove_child(&mut self, child: &dyn INode, cleanup: bool)
Removes a child node from the current node. Read more
Source§fn remove_child_by_tag(&mut self, tag: &str, cleanup: bool)
fn remove_child_by_tag(&mut self, tag: &str, cleanup: bool)
Removes a child node from the current node by tag. Read more
Source§fn remove_all_children(&mut self, cleanup: bool)
fn remove_all_children(&mut self, cleanup: bool)
Removes all child nodes from the current node. Read more
Source§fn remove_from_parent(&mut self, cleanup: bool)
fn remove_from_parent(&mut self, cleanup: bool)
Removes the current node from its parent node. Read more
Source§fn move_to_parent(&mut self, parent: &dyn INode)
fn move_to_parent(&mut self, parent: &dyn INode)
Moves the current node to a new parent node without triggering node events. Read more
Source§fn schedule(&mut self, update_func: Box<dyn FnMut(f64) -> bool>)
fn schedule(&mut self, update_func: Box<dyn FnMut(f64) -> bool>)
Schedules a main function to run every frame. Call this function again to replace the previous scheduled main function or coroutine. Read more
Source§fn unschedule(&mut self)
fn unschedule(&mut self)
Unschedules the current node’s scheduled main function.
Source§fn convert_to_node_space(&mut self, world_point: &Vec2) -> Vec2
fn convert_to_node_space(&mut self, world_point: &Vec2) -> Vec2
Converts a point from world space to node space. Read more
Source§fn convert_to_world_space(&mut self, node_point: &Vec2) -> Vec2
fn convert_to_world_space(&mut self, node_point: &Vec2) -> Vec2
Converts a point from node space to world space. Read more
Source§fn convert_to_window_space(
&mut self,
node_point: &Vec2,
callback: Box<dyn FnMut(&Vec2)>,
)
fn convert_to_window_space( &mut self, node_point: &Vec2, callback: Box<dyn FnMut(&Vec2)>, )
Converts a point from node space to world space. Read more
Source§fn each_child(
&mut self,
visitor_func: Box<dyn FnMut(&dyn INode) -> bool>,
) -> bool
fn each_child( &mut self, visitor_func: Box<dyn FnMut(&dyn INode) -> bool>, ) -> bool
Calls the given function for each child node of this node. Read more
Source§fn traverse(&mut self, visitor_func: Box<dyn FnMut(&dyn INode) -> bool>) -> bool
fn traverse(&mut self, visitor_func: Box<dyn FnMut(&dyn INode) -> bool>) -> bool
Traverses the node hierarchy starting from this node and calls the given function for each visited node. The nodes without
TraverseEnabled flag are not visited. Read moreSource§fn traverse_all(
&mut self,
visitor_func: Box<dyn FnMut(&dyn INode) -> bool>,
) -> bool
fn traverse_all( &mut self, visitor_func: Box<dyn FnMut(&dyn INode) -> bool>, ) -> bool
Traverses the entire node hierarchy starting from this node and calls the given function for each visited node. Read more
Source§fn run_action_def(&mut self, def: ActionDef, looped: bool) -> f32
fn run_action_def(&mut self, def: ActionDef, looped: bool) -> f32
Runs an action defined by the given action definition on this node. Read more
Source§fn run_action(&mut self, action: &Action, looped: bool) -> f32
fn run_action(&mut self, action: &Action, looped: bool) -> f32
Runs an action on this node. Read more
Source§fn stop_all_actions(&mut self)
fn stop_all_actions(&mut self)
Stops all actions running on this node.
Source§fn perform_def(&mut self, action_def: ActionDef, looped: bool) -> f32
fn perform_def(&mut self, action_def: ActionDef, looped: bool) -> f32
Runs an action defined by the given action definition right after clearing all the previous running actions. Read more
Source§fn perform(&mut self, action: &Action, looped: bool) -> f32
fn perform(&mut self, action: &Action, looped: bool) -> f32
Runs an action on this node right after clearing all the previous running actions. Read more
Source§fn stop_action(&mut self, action: &Action)
fn stop_action(&mut self, action: &Action)
Stops the given action running on this node. Read more
Source§fn align_items_vertically(&mut self, padding: f32) -> Size
fn align_items_vertically(&mut self, padding: f32) -> Size
Vertically aligns all child nodes within the node using the given size and padding. Read more
Source§fn align_items_vertically_with_size(
&mut self,
size: &Size,
padding: f32,
) -> Size
fn align_items_vertically_with_size( &mut self, size: &Size, padding: f32, ) -> Size
Vertically aligns all child nodes within the node using the given size and padding. Read more
Source§fn align_items_horizontally(&mut self, padding: f32) -> Size
fn align_items_horizontally(&mut self, padding: f32) -> Size
Horizontally aligns all child nodes within the node using the given size and padding. Read more
Source§fn align_items_horizontally_with_size(
&mut self,
size: &Size,
padding: f32,
) -> Size
fn align_items_horizontally_with_size( &mut self, size: &Size, padding: f32, ) -> Size
Horizontally aligns all child nodes within the node using the given size and padding. Read more
Source§fn align_items(&mut self, padding: f32) -> Size
fn align_items(&mut self, padding: f32) -> Size
Aligns all child nodes within the node using the given size and padding. Read more
Source§fn align_items_with_size(&mut self, size: &Size, padding: f32) -> Size
fn align_items_with_size(&mut self, size: &Size, padding: f32) -> Size
Aligns all child nodes within the node using the given size and padding. Read more
Source§fn move_and_cull_items(&mut self, delta: &Vec2)
fn move_and_cull_items(&mut self, delta: &Vec2)
Moves and changes child nodes’ visibility based on their position in parent’s area. Read more
Source§fn attach_ime(&mut self)
fn attach_ime(&mut self)
Attaches the input method editor (IME) to the node.
Makes node recieving “AttachIME”, “DetachIME”, “TextInput”, “TextEditing” events.
Source§fn detach_ime(&mut self)
fn detach_ime(&mut self)
Detaches the input method editor (IME) from the node.
Source§fn grab_with_size(&mut self, grid_x: i32, grid_y: i32) -> Grabber
fn grab_with_size(&mut self, grid_x: i32, grid_y: i32) -> Grabber
Creates a texture grabber for the specified node with a specified grid size. Read more
Source§fn set_transform_target_null(&mut self)
fn set_transform_target_null(&mut self)
Removes the transform target for the specified node.
Source§fn slot(&mut self, event_name: &str, handler: Box<dyn FnMut(&mut CallStack)>)
fn slot(&mut self, event_name: &str, handler: Box<dyn FnMut(&mut CallStack)>)
Associates the given handler function with the node event. Read more
Source§fn gslot(&mut self, event_name: &str, handler: Box<dyn FnMut(&mut CallStack)>)
fn gslot(&mut self, event_name: &str, handler: Box<dyn FnMut(&mut CallStack)>)
Associates the given handler function with a global event. Read more
Source§impl IObject for PlatformWorld
impl IObject for PlatformWorld
Source§impl IPhysicsWorld for PlatformWorld
impl IPhysicsWorld for PlatformWorld
Source§fn query(
&mut self,
rect: &Rect,
handler: Box<dyn FnMut(&dyn IBody) -> bool>,
) -> bool
fn query( &mut self, rect: &Rect, handler: Box<dyn FnMut(&dyn IBody) -> bool>, ) -> bool
Queries the physics world for all bodies that intersect with the specified rectangle. Read more
Source§fn raycast(
&mut self,
start: &Vec2,
stop: &Vec2,
closest: bool,
handler: Box<dyn FnMut(&dyn IBody, &Vec2, &Vec2) -> bool>,
) -> bool
fn raycast( &mut self, start: &Vec2, stop: &Vec2, closest: bool, handler: Box<dyn FnMut(&dyn IBody, &Vec2, &Vec2) -> bool>, ) -> bool
Casts a ray through the physics world and finds the first body that intersects with the ray. Read more
Source§fn set_iterations(&mut self, velocity_iter: i32, position_iter: i32)
fn set_iterations(&mut self, velocity_iter: i32, position_iter: i32)
Sets the number of velocity and position iterations to perform in the physics world. Read more
Auto Trait Implementations§
impl Freeze for PlatformWorld
impl RefUnwindSafe for PlatformWorld
impl Send for PlatformWorld
impl Sync for PlatformWorld
impl Unpin for PlatformWorld
impl UnwindSafe for PlatformWorld
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more