CollisionPolygon2D

package
v0.0.0-...-e1beaa7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 26 Imported by: 0

Documentation

Overview

A node that provides a polygon shape to a graphics.gd/classdb/CollisionObject2D parent and allows to edit it. The polygon can be concave or convex. This can give a detection shape to an graphics.gd/classdb/Area2D, turn graphics.gd/classdb/PhysicsBody2D into a solid object, or give a hollow shape to a graphics.gd/classdb/StaticBody2D.

Warning: A non-uniformly scaled graphics.gd/classdb/CollisionPolygon2D will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its polygon instead.

Index

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 Any

type Any interface {
	gd.IsClass
	AsCollisionPolygon2D() Instance
}

type BuildMode

type BuildMode int //gd:CollisionPolygon2D.BuildMode
const (
	// Collisions will include the polygon and its contained area. In this mode the node has the same effect as several [graphics.gd/classdb/ConvexPolygonShape2D] nodes, one for each convex shape in the convex decomposition of the polygon (but without the overhead of multiple nodes).
	BuildSolids BuildMode = 0
	// Collisions will only include the polygon edges. In this mode the node has the same effect as a single [graphics.gd/classdb/ConcavePolygonShape2D] made of segments, with the restriction that each segment (after the first one) starts where the previous one ends, and the last one ends where the first one starts (forming a closed but hollow polygon).
	BuildSegments BuildMode = 1
)

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsCanvasItem

func (self *Extension[T]) AsCanvasItem() CanvasItem.Instance

func (*Extension[T]) AsCollisionPolygon2D

func (self *Extension[T]) AsCollisionPolygon2D() Instance

func (*Extension[T]) AsNode

func (self *Extension[T]) AsNode() Node.Instance

func (*Extension[T]) AsNode2D

func (self *Extension[T]) AsNode2D() Node2D.Instance

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Instance

type Instance [1]gdclass.CollisionPolygon2D

Instance of the class with convieniently typed arguments and results.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AsCanvasItem

func (self Instance) AsCanvasItem() CanvasItem.Instance

func (Instance) AsCollisionPolygon2D

func (self Instance) AsCollisionPolygon2D() Instance

func (Instance) AsNode

func (self Instance) AsNode() Node.Instance

func (Instance) AsNode2D

func (self Instance) AsNode2D() Node2D.Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) BuildMode

func (self Instance) BuildMode() BuildMode

func (Instance) Disabled

func (self Instance) Disabled() bool

func (Instance) ID

func (self Instance) ID() ID

func (Instance) OneWayCollision

func (self Instance) OneWayCollision() bool

func (Instance) OneWayCollisionMargin

func (self Instance) OneWayCollisionMargin() Float.X

func (Instance) Polygon

func (self Instance) Polygon() []Vector2.XY

func (Instance) SetBuildMode

func (self Instance) SetBuildMode(value BuildMode)

func (Instance) SetDisabled

func (self Instance) SetDisabled(value bool)

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (Instance) SetOneWayCollision

func (self Instance) SetOneWayCollision(value bool)

func (Instance) SetOneWayCollisionMargin

func (self Instance) SetOneWayCollisionMargin(value Float.X)

func (Instance) SetPolygon

func (self Instance) SetPolygon(value []Vector2.XY)

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL