CPUParticles2D

package
v0.0.0-...-0d6c339 Latest Latest
Warning

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

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

Documentation

Overview

CPU-based 2D particle node used to create a variety of particle systems and effects.

See also graphics.gd/classdb/GPUParticles2D, which provides the same functionality with hardware acceleration, but may not run on older devices.

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
	AsCPUParticles2D() Instance
}

type DrawOrder

type DrawOrder int //gd:CPUParticles2D.DrawOrder
const (
	// Particles are drawn in the order emitted.
	DrawOrderIndex DrawOrder = 0
	// Particles are drawn in order of remaining lifetime. In other words, the particle with the highest lifetime is drawn at the front.
	DrawOrderLifetime DrawOrder = 1
)

type EmissionShape

type EmissionShape int //gd:CPUParticles2D.EmissionShape
const (
	// All particles will be emitted from a single point.
	EmissionShapePoint EmissionShape = 0
	// Particles will be emitted in the volume of a sphere flattened to two dimensions.
	EmissionShapeSphere EmissionShape = 1
	// Particles will be emitted on the surface of a sphere flattened to two dimensions.
	EmissionShapeSphereSurface EmissionShape = 2
	// Particles will be emitted in the area of a rectangle.
	EmissionShapeRectangle EmissionShape = 3
	// Particles will be emitted at a position chosen randomly among [Instance.EmissionPoints]. Particle color will be modulated by [Instance.EmissionColors].
	EmissionShapePoints EmissionShape = 4
	// Particles will be emitted at a position chosen randomly among [Instance.EmissionPoints]. Particle velocity and rotation will be set based on [Instance.EmissionNormals]. Particle color will be modulated by [Instance.EmissionColors].
	EmissionShapeDirectedPoints EmissionShape = 5
	// Represents the size of the [EmissionShape] enum.
	EmissionShapeMax EmissionShape = 6
)

type Expanded

type Expanded [1]gdclass.CPUParticles2D

func (Expanded) Restart

func (self Expanded) Restart(keep_seed bool)

Restarts the particle emitter.

If 'keep_seed' is true, the current random seed will be preserved. Useful for seeking and playback.

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]) AsCPUParticles2D

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

func (*Extension[T]) AsCanvasItem

func (self *Extension[T]) AsCanvasItem() CanvasItem.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.CPUParticles2D

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) Amount

func (self Instance) Amount() int

func (Instance) AngleCurve

func (self Instance) AngleCurve() Curve.Instance

func (Instance) AngleMax

func (self Instance) AngleMax() Float.X

func (Instance) AngleMin

func (self Instance) AngleMin() Float.X

func (Instance) AngularVelocityCurve

func (self Instance) AngularVelocityCurve() Curve.Instance

func (Instance) AngularVelocityMax

func (self Instance) AngularVelocityMax() Float.X

func (Instance) AngularVelocityMin

func (self Instance) AngularVelocityMin() Float.X

func (Instance) AnimOffsetCurve

func (self Instance) AnimOffsetCurve() Curve.Instance

func (Instance) AnimOffsetMax

func (self Instance) AnimOffsetMax() Float.X

func (Instance) AnimOffsetMin

func (self Instance) AnimOffsetMin() Float.X

func (Instance) AnimSpeedCurve

func (self Instance) AnimSpeedCurve() Curve.Instance

func (Instance) AnimSpeedMax

func (self Instance) AnimSpeedMax() Float.X

func (Instance) AnimSpeedMin

func (self Instance) AnimSpeedMin() Float.X

func (Instance) AsCPUParticles2D

func (self Instance) AsCPUParticles2D() Instance

func (Instance) AsCanvasItem

func (self Instance) AsCanvasItem() CanvasItem.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) Color

func (self Instance) Color() Color.RGBA

func (Instance) ColorInitialRamp

func (self Instance) ColorInitialRamp() Gradient.Instance

func (Instance) ColorRamp

func (self Instance) ColorRamp() Gradient.Instance

func (Instance) ConvertFromParticles

func (self Instance) ConvertFromParticles(particles Node.Instance)

Sets this node's properties to match a given graphics.gd/classdb/GPUParticles2D node with an assigned graphics.gd/classdb/ParticleProcessMaterial.

func (Instance) DampingCurve

func (self Instance) DampingCurve() Curve.Instance

func (Instance) DampingMax

func (self Instance) DampingMax() Float.X

func (Instance) DampingMin

func (self Instance) DampingMin() Float.X

func (Instance) Direction

func (self Instance) Direction() Vector2.XY

func (Instance) DrawOrder

func (self Instance) DrawOrder() DrawOrder

func (Instance) EmissionColors

func (self Instance) EmissionColors() []Color.RGBA

func (Instance) EmissionNormals

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

func (Instance) EmissionPoints

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

func (Instance) EmissionRectExtents

func (self Instance) EmissionRectExtents() Vector2.XY

func (Instance) EmissionShape

func (self Instance) EmissionShape() EmissionShape

func (Instance) EmissionSphereRadius

func (self Instance) EmissionSphereRadius() Float.X

func (Instance) Emitting

func (self Instance) Emitting() bool

func (Instance) Explosiveness

func (self Instance) Explosiveness() Float.X

func (Instance) FixedFps

func (self Instance) FixedFps() int

func (Instance) FractDelta

func (self Instance) FractDelta() bool

func (Instance) Gravity

func (self Instance) Gravity() Vector2.XY

func (Instance) HueVariationCurve

func (self Instance) HueVariationCurve() Curve.Instance

func (Instance) HueVariationMax

func (self Instance) HueVariationMax() Float.X

func (Instance) HueVariationMin

func (self Instance) HueVariationMin() Float.X

func (Instance) ID

func (self Instance) ID() ID

func (Instance) InitialVelocityMax

func (self Instance) InitialVelocityMax() Float.X

func (Instance) InitialVelocityMin

func (self Instance) InitialVelocityMin() Float.X

func (Instance) Lifetime

func (self Instance) Lifetime() Float.X

func (Instance) LifetimeRandomness

func (self Instance) LifetimeRandomness() Float.X

func (Instance) LinearAccelCurve

func (self Instance) LinearAccelCurve() Curve.Instance

func (Instance) LinearAccelMax

func (self Instance) LinearAccelMax() Float.X

func (Instance) LinearAccelMin

func (self Instance) LinearAccelMin() Float.X

func (Instance) LocalCoords

func (self Instance) LocalCoords() bool

func (Instance) OnFinished

func (self Instance) OnFinished(cb func(), flags ...Signal.Flags)

func (Instance) OneShot

func (self Instance) OneShot() bool

func (Instance) OrbitVelocityCurve

func (self Instance) OrbitVelocityCurve() Curve.Instance

func (Instance) OrbitVelocityMax

func (self Instance) OrbitVelocityMax() Float.X

func (Instance) OrbitVelocityMin

func (self Instance) OrbitVelocityMin() Float.X

func (Instance) ParticleFlagAlignY

func (self Instance) ParticleFlagAlignY() bool

func (Instance) Preprocess

func (self Instance) Preprocess() Float.X

func (Instance) RadialAccelCurve

func (self Instance) RadialAccelCurve() Curve.Instance

func (Instance) RadialAccelMax

func (self Instance) RadialAccelMax() Float.X

func (Instance) RadialAccelMin

func (self Instance) RadialAccelMin() Float.X

func (Instance) Randomness

func (self Instance) Randomness() Float.X

func (Instance) RequestParticlesProcess

func (self Instance) RequestParticlesProcess(process_time Float.X)

Requests the particles to process for extra process time during a single frame.

Useful for particle playback, if used in combination with Instance.UseFixedSeed or by calling Instance.Restart with parameter keep_seed set to true.

func (Instance) Restart

func (self Instance) Restart()

Restarts the particle emitter.

If 'keep_seed' is true, the current random seed will be preserved. Useful for seeking and playback.

func (Instance) ScaleAmountCurve

func (self Instance) ScaleAmountCurve() Curve.Instance

func (Instance) ScaleAmountMax

func (self Instance) ScaleAmountMax() Float.X

func (Instance) ScaleAmountMin

func (self Instance) ScaleAmountMin() Float.X

func (Instance) ScaleCurveX

func (self Instance) ScaleCurveX() Curve.Instance

func (Instance) ScaleCurveY

func (self Instance) ScaleCurveY() Curve.Instance

func (Instance) Seed

func (self Instance) Seed() int

func (Instance) SetAmount

func (self Instance) SetAmount(value int)

func (Instance) SetAngleCurve

func (self Instance) SetAngleCurve(value Curve.Instance)

func (Instance) SetAngleMax

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

func (Instance) SetAngleMin

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

func (Instance) SetAngularVelocityCurve

func (self Instance) SetAngularVelocityCurve(value Curve.Instance)

func (Instance) SetAngularVelocityMax

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

func (Instance) SetAngularVelocityMin

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

func (Instance) SetAnimOffsetCurve

func (self Instance) SetAnimOffsetCurve(value Curve.Instance)

func (Instance) SetAnimOffsetMax

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

func (Instance) SetAnimOffsetMin

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

func (Instance) SetAnimSpeedCurve

func (self Instance) SetAnimSpeedCurve(value Curve.Instance)

func (Instance) SetAnimSpeedMax

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

func (Instance) SetAnimSpeedMin

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

func (Instance) SetColor

func (self Instance) SetColor(value Color.RGBA)

func (Instance) SetColorInitialRamp

func (self Instance) SetColorInitialRamp(value Gradient.Instance)

func (Instance) SetColorRamp

func (self Instance) SetColorRamp(value Gradient.Instance)

func (Instance) SetDampingCurve

func (self Instance) SetDampingCurve(value Curve.Instance)

func (Instance) SetDampingMax

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

func (Instance) SetDampingMin

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

func (Instance) SetDirection

func (self Instance) SetDirection(value Vector2.XY)

func (Instance) SetDrawOrder

func (self Instance) SetDrawOrder(value DrawOrder)

func (Instance) SetEmissionColors

func (self Instance) SetEmissionColors(value []Color.RGBA)

func (Instance) SetEmissionNormals

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

func (Instance) SetEmissionPoints

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

func (Instance) SetEmissionRectExtents

func (self Instance) SetEmissionRectExtents(value Vector2.XY)

func (Instance) SetEmissionShape

func (self Instance) SetEmissionShape(value EmissionShape)

func (Instance) SetEmissionSphereRadius

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

func (Instance) SetEmitting

func (self Instance) SetEmitting(value bool)

func (Instance) SetExplosiveness

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

func (Instance) SetFixedFps

func (self Instance) SetFixedFps(value int)

func (Instance) SetFractDelta

func (self Instance) SetFractDelta(value bool)

func (Instance) SetGravity

func (self Instance) SetGravity(value Vector2.XY)

func (Instance) SetHueVariationCurve

func (self Instance) SetHueVariationCurve(value Curve.Instance)

func (Instance) SetHueVariationMax

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

func (Instance) SetHueVariationMin

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

func (Instance) SetInitialVelocityMax

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

func (Instance) SetInitialVelocityMin

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

func (Instance) SetLifetime

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

func (Instance) SetLifetimeRandomness

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

func (Instance) SetLinearAccelCurve

func (self Instance) SetLinearAccelCurve(value Curve.Instance)

func (Instance) SetLinearAccelMax

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

func (Instance) SetLinearAccelMin

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

func (Instance) SetLocalCoords

func (self Instance) SetLocalCoords(value bool)

func (*Instance) SetObject

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

func (Instance) SetOneShot

func (self Instance) SetOneShot(value bool)

func (Instance) SetOrbitVelocityCurve

func (self Instance) SetOrbitVelocityCurve(value Curve.Instance)

func (Instance) SetOrbitVelocityMax

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

func (Instance) SetOrbitVelocityMin

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

func (Instance) SetParticleFlagAlignY

func (self Instance) SetParticleFlagAlignY(value bool)

func (Instance) SetPreprocess

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

func (Instance) SetRadialAccelCurve

func (self Instance) SetRadialAccelCurve(value Curve.Instance)

func (Instance) SetRadialAccelMax

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

func (Instance) SetRadialAccelMin

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

func (Instance) SetRandomness

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

func (Instance) SetScaleAmountCurve

func (self Instance) SetScaleAmountCurve(value Curve.Instance)

func (Instance) SetScaleAmountMax

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

func (Instance) SetScaleAmountMin

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

func (Instance) SetScaleCurveX

func (self Instance) SetScaleCurveX(value Curve.Instance)

func (Instance) SetScaleCurveY

func (self Instance) SetScaleCurveY(value Curve.Instance)

func (Instance) SetSeed

func (self Instance) SetSeed(value int)

func (Instance) SetSpeedScale

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

func (Instance) SetSplitScale

func (self Instance) SetSplitScale(value bool)

func (Instance) SetSpread

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

func (Instance) SetTangentialAccelCurve

func (self Instance) SetTangentialAccelCurve(value Curve.Instance)

func (Instance) SetTangentialAccelMax

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

func (Instance) SetTangentialAccelMin

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

func (Instance) SetTexture

func (self Instance) SetTexture(value Texture2D.Instance)

func (Instance) SetUseFixedSeed

func (self Instance) SetUseFixedSeed(value bool)

func (Instance) SpeedScale

func (self Instance) SpeedScale() Float.X

func (Instance) SplitScale

func (self Instance) SplitScale() bool

func (Instance) Spread

func (self Instance) Spread() Float.X

func (Instance) TangentialAccelCurve

func (self Instance) TangentialAccelCurve() Curve.Instance

func (Instance) TangentialAccelMax

func (self Instance) TangentialAccelMax() Float.X

func (Instance) TangentialAccelMin

func (self Instance) TangentialAccelMin() Float.X

func (Instance) Texture

func (self Instance) Texture() Texture2D.Instance

func (Instance) UseFixedSeed

func (self Instance) UseFixedSeed() bool

func (Instance) Virtual

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

type Parameter

type Parameter int //gd:CPUParticles2D.Parameter
const (
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set initial velocity properties.
	ParamInitialLinearVelocity Parameter = 0
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set angular velocity properties.
	ParamAngularVelocity Parameter = 1
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set orbital velocity properties.
	ParamOrbitVelocity Parameter = 2
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set linear acceleration properties.
	ParamLinearAccel Parameter = 3
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set radial acceleration properties.
	ParamRadialAccel Parameter = 4
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set tangential acceleration properties.
	ParamTangentialAccel Parameter = 5
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set damping properties.
	ParamDamping Parameter = 6
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set angle properties.
	ParamAngle Parameter = 7
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set scale properties.
	ParamScale Parameter = 8
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set hue variation properties.
	ParamHueVariation Parameter = 9
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set animation speed properties.
	ParamAnimSpeed Parameter = 10
	// Use with [Instance.SetParamMin], [Instance.SetParamMax], and [Instance.SetParamCurve] to set animation offset properties.
	ParamAnimOffset Parameter = 11
	// Represents the size of the [Parameter] enum.
	ParamMax Parameter = 12
)

type ParticleFlags

type ParticleFlags int //gd:CPUParticles2D.ParticleFlags
const (
	// Use with [Instance.SetParticleFlag] to set [Instance.ParticleFlagAlignY].
	ParticleFlagAlignYToVelocity ParticleFlags = 0
	// Present for consistency with 3D particle nodes, not used in 2D.
	ParticleFlagRotateY ParticleFlags = 1
	// Present for consistency with 3D particle nodes, not used in 2D.
	ParticleFlagDisableZ ParticleFlags = 2
	// Represents the size of the [ParticleFlags] enum.
	ParticleFlagMax ParticleFlags = 3
)

Jump to

Keyboard shortcuts

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