Documentation ¶
Overview ¶
Package CollisionObject2D provides methods for working with CollisionObject2D object instances.
Index ¶
- type Advanced
- type Any
- type DisableMode
- type Implementation
- type Instance
- func (self Instance) AsCanvasItem() CanvasItem.Instance
- func (self Instance) AsCollisionObject2D() Instance
- func (self Instance) AsNode() Node.Instance
- func (self Instance) AsNode2D() Node2D.Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) CollisionLayer() int
- func (self Instance) CollisionMask() int
- func (self Instance) CollisionPriority() Float.X
- func (self Instance) CreateShapeOwner(owner Object.Instance) int
- func (self Instance) DisableMode() gdclass.CollisionObject2DDisableMode
- func (self Instance) GetCollisionLayerValue(layer_number int) bool
- func (self Instance) GetCollisionMaskValue(layer_number int) bool
- func (self Instance) GetRid() RID.Body2D
- func (self Instance) GetShapeOwnerOneWayCollisionMargin(owner_id int) Float.X
- func (self Instance) GetShapeOwners() []int32
- func (self Instance) InputPickable() bool
- func (self Instance) IsShapeOwnerDisabled(owner_id int) bool
- func (self Instance) IsShapeOwnerOneWayCollisionEnabled(owner_id int) bool
- func (self Instance) OnInputEvent(cb func(viewport [1]gdclass.Node, event [1]gdclass.InputEvent, shape_idx int))
- func (self Instance) OnMouseEntered(cb func())
- func (self Instance) OnMouseExited(cb func())
- func (self Instance) OnMouseShapeEntered(cb func(shape_idx int))
- func (self Instance) OnMouseShapeExited(cb func(shape_idx int))
- func (self Instance) RemoveShapeOwner(owner_id int)
- func (self Instance) SetCollisionLayer(value int)
- func (self Instance) SetCollisionLayerValue(layer_number int, value bool)
- func (self Instance) SetCollisionMask(value int)
- func (self Instance) SetCollisionMaskValue(layer_number int, value bool)
- func (self Instance) SetCollisionPriority(value Float.X)
- func (self Instance) SetDisableMode(value gdclass.CollisionObject2DDisableMode)
- func (self Instance) SetInputPickable(value bool)
- func (self Instance) ShapeFindOwner(shape_index int) int
- func (self Instance) ShapeOwnerAddShape(owner_id int, shape [1]gdclass.Shape2D)
- func (self Instance) ShapeOwnerClearShapes(owner_id int)
- func (self Instance) ShapeOwnerGetOwner(owner_id int) Object.Instance
- func (self Instance) ShapeOwnerGetShape(owner_id int, shape_id int) [1]gdclass.Shape2D
- func (self Instance) ShapeOwnerGetShapeCount(owner_id int) int
- func (self Instance) ShapeOwnerGetShapeIndex(owner_id int, shape_id int) int
- func (self Instance) ShapeOwnerGetTransform(owner_id int) Transform2D.OriginXY
- func (self Instance) ShapeOwnerRemoveShape(owner_id int, shape_id int)
- func (self Instance) ShapeOwnerSetDisabled(owner_id int, disabled bool)
- func (self Instance) ShapeOwnerSetOneWayCollision(owner_id int, enable bool)
- func (self Instance) ShapeOwnerSetOneWayCollisionMargin(owner_id int, margin Float.X)
- func (self Instance) ShapeOwnerSetTransform(owner_id int, transform Transform2D.OriginXY)
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
- type Interface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type DisableMode ¶
type DisableMode = gdclass.CollisionObject2DDisableMode //gd:CollisionObject2D.DisableMode
const ( /*When [member Node.process_mode] is set to [constant Node.PROCESS_MODE_DISABLED], remove from the physics simulation to stop all physics interactions with this [CollisionObject2D]. Automatically re-added to the physics simulation when the [Node] is processed again.*/ DisableModeRemove DisableMode = 0 /*When [member Node.process_mode] is set to [constant Node.PROCESS_MODE_DISABLED], make the body static. Doesn't affect [Area2D]. [PhysicsBody2D] can't be affected by forces or other bodies while static. Automatically set [PhysicsBody2D] back to its original mode when the [Node] is processed again.*/ DisableModeMakeStatic DisableMode = 1 /*When [member Node.process_mode] is set to [constant Node.PROCESS_MODE_DISABLED], do not affect the physics simulation.*/ DisableModeKeepActive DisableMode = 2 )
type Implementation ¶
type Implementation = implementation
Implementation implements Interface with empty methods.
type Instance ¶
type Instance [1]gdclass.CollisionObject2D
Abstract base class for 2D physics objects. [CollisionObject2D] can hold any number of [Shape2D]s for collision. Each shape must be assigned to a [i]shape owner[/i]. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods. [b]Note:[/b] Only collisions between objects within the same canvas ([Viewport] canvas or [CanvasLayer]) are supported. The behavior of collisions between objects in different canvases is undefined.
See [Interface] for methods that can be overridden by a [Class] that extends it.
%!(EXTRA string=CollisionObject2D)
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsCanvasItem ¶
func (self Instance) AsCanvasItem() CanvasItem.Instance
func (Instance) AsCollisionObject2D ¶
func (Instance) CollisionLayer ¶
func (Instance) CollisionMask ¶
func (Instance) CollisionPriority ¶
func (Instance) CreateShapeOwner ¶
Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference.
func (Instance) DisableMode ¶
func (self Instance) DisableMode() gdclass.CollisionObject2DDisableMode
func (Instance) GetCollisionLayerValue ¶
Returns whether or not the specified layer of the [member collision_layer] is enabled, given a [param layer_number] between 1 and 32.
func (Instance) GetCollisionMaskValue ¶
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [param layer_number] between 1 and 32.
func (Instance) GetShapeOwnerOneWayCollisionMargin ¶
Returns the [code]one_way_collision_margin[/code] of the shape owner identified by given [param owner_id].
func (Instance) GetShapeOwners ¶
Returns an [Array] of [code]owner_id[/code] identifiers. You can use these ids in other methods that take [code]owner_id[/code] as an argument.
func (Instance) InputPickable ¶
func (Instance) IsShapeOwnerDisabled ¶
If [code]true[/code], the shape owner and its shapes are disabled.
func (Instance) IsShapeOwnerOneWayCollisionEnabled ¶
Returns [code]true[/code] if collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s.
func (Instance) OnInputEvent ¶
func (Instance) OnMouseEntered ¶
func (self Instance) OnMouseEntered(cb func())
func (Instance) OnMouseExited ¶
func (self Instance) OnMouseExited(cb func())
func (Instance) OnMouseShapeEntered ¶
func (Instance) OnMouseShapeExited ¶
func (Instance) RemoveShapeOwner ¶
Removes the given shape owner.
func (Instance) SetCollisionLayer ¶
func (Instance) SetCollisionLayerValue ¶
Based on [param value], enables or disables the specified layer in the [member collision_layer], given a [param layer_number] between 1 and 32.
func (Instance) SetCollisionMask ¶
func (Instance) SetCollisionMaskValue ¶
Based on [param value], enables or disables the specified layer in the [member collision_mask], given a [param layer_number] between 1 and 32.
func (Instance) SetCollisionPriority ¶
func (Instance) SetDisableMode ¶
func (self Instance) SetDisableMode(value gdclass.CollisionObject2DDisableMode)
func (Instance) SetInputPickable ¶
func (Instance) ShapeFindOwner ¶
Returns the [code]owner_id[/code] of the given shape.
func (Instance) ShapeOwnerAddShape ¶
Adds a [Shape2D] to the shape owner.
func (Instance) ShapeOwnerClearShapes ¶
Removes all shapes from the shape owner.
func (Instance) ShapeOwnerGetOwner ¶
Returns the parent object of the given shape owner.
func (Instance) ShapeOwnerGetShape ¶
Returns the [Shape2D] with the given ID from the given shape owner.
func (Instance) ShapeOwnerGetShapeCount ¶
Returns the number of shapes the given shape owner contains.
func (Instance) ShapeOwnerGetShapeIndex ¶
Returns the child index of the [Shape2D] with the given ID from the given shape owner.
func (Instance) ShapeOwnerGetTransform ¶
func (self Instance) ShapeOwnerGetTransform(owner_id int) Transform2D.OriginXY
Returns the shape owner's [Transform2D].
func (Instance) ShapeOwnerRemoveShape ¶
Removes a shape from the given shape owner.
func (Instance) ShapeOwnerSetDisabled ¶
If [code]true[/code], disables the given shape owner.
func (Instance) ShapeOwnerSetOneWayCollision ¶
If [param enable] is [code]true[/code], collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s.
func (Instance) ShapeOwnerSetOneWayCollisionMargin ¶
Sets the [code]one_way_collision_margin[/code] of the shape owner identified by given [param owner_id] to [param margin] pixels.
func (Instance) ShapeOwnerSetTransform ¶
func (self Instance) ShapeOwnerSetTransform(owner_id int, transform Transform2D.OriginXY)
Sets the [Transform2D] of the given shape owner.
func (*Instance) UnsafePointer ¶
type Interface ¶
type Interface interface { //Accepts unhandled [InputEvent]s. [param shape_idx] is the child index of the clicked [Shape2D]. Connect to [signal input_event] to easily pick up these events. //[b]Note:[/b] [method _input_event] requires [member input_pickable] to be [code]true[/code] and at least one [member collision_layer] bit to be set. InputEvent(viewport [1]gdclass.Viewport, event [1]gdclass.InputEvent, shape_idx int) //Called when the mouse pointer enters any of this object's shapes. Requires [member input_pickable] to be [code]true[/code] and at least one [member collision_layer] bit to be set. Note that moving between different shapes within a single [CollisionObject2D] won't cause this function to be called. MouseEnter() //Called when the mouse pointer exits all this object's shapes. Requires [member input_pickable] to be [code]true[/code] and at least one [member collision_layer] bit to be set. Note that moving between different shapes within a single [CollisionObject2D] won't cause this function to be called. MouseExit() //Called when the mouse pointer enters any of this object's shapes or moves from one shape to another. [param shape_idx] is the child index of the newly entered [Shape2D]. Requires [member input_pickable] to be [code]true[/code] and at least one [member collision_layer] bit to be called. MouseShapeEnter(shape_idx int) //Called when the mouse pointer exits any of this object's shapes. [param shape_idx] is the child index of the exited [Shape2D]. Requires [member input_pickable] to be [code]true[/code] and at least one [member collision_layer] bit to be called. MouseShapeExit(shape_idx int) }