xSGE Particles¶
Contents
xSGE is a collection of extensions for the SGE licensed under the GNU General Public License. They are designed to give additional features to free/libre software games which aren’t necessary, but are nice to have.
xSGE extensions are not dependent on any particular SGE implementation. They should work with any implementation that follows the specification.
This extension provides particle effects for the SGE.
xsge_particle Classes¶
xsge_particle.Emitter¶
-
class
xsge_particle.
Emitter
(x, y, z=0, interval=1, chance=1, particle_cls=<class 'xsge_particle.Particle'>, particle_args=None, particle_kwargs=None, particle_lambda_args=None, particle_lambda_kwargs=None, tangible=False, **kwargs)[source]¶ Class for object emitters. These are
sge.dsp.Object
objects which create othersge.dsp.Object
objects of a specified class at a specified interval.To randomize the way particles are created, extend
event_create_particle()
in a derived class.Note
An alarm with the name
"__emitter"
inevent_alarm()
is used to control the timing. It is initially set byevent_create()
.-
interval
¶ The number of frames to wait in between the creation of each particle (adjusted for delta timing).
-
chance
¶ The chance (out of 1) of a particle actually being created at each iteration. This can be used to make particle generation uneven.
-
particle_cls
¶ The class to use for the particles created. Any class derived from
sge.dsp.Object
will work.
-
particle_args
¶ The ordered arguments to pass to created particles’ constructor methods. If set to
None
, an empty list is used.
-
particle_kwargs
¶ The keyword arguments to pass to created particles’ constructor methods. If set to
None
, an empty dictionary is used.
-
particle_lambda_args
¶ A list of functions which, when a particle is about to be created, are called and have the returned values passed to the particle’s constructor method instead of the corresponding index of
particle_args
. This emitter is passed to each of these functions as the first argument.Values in the list set to
None
are ignored. If this list is longer thanparticle_args
, any arguments not set by either of these lists are set toNone
.If set to
None
, an empty list is used.
-
particle_lambda_kwargs
¶ A dictionary of functions which, when a particle is about to be created, are called and have the returned values passed to the particle’s constructor method instead of the corresponding key of
particle_kwargs
. This emitter is passed to each of these functions as the first argument.If set to
None
, an empty dictionary is used.
-
xsge_particle.Emitter Methods¶
-
Emitter.
__init__
(x, y, z=0, interval=1, chance=1, particle_cls=<class 'xsge_particle.Particle'>, particle_args=None, particle_kwargs=None, particle_lambda_args=None, particle_lambda_kwargs=None, tangible=False, **kwargs)[source]¶ Arguments set the respective initial attributes of the object. See the documentation for
Emitter
for more information.x
,y
,z
,tangible
, and all arguments passed tokwargs
are passed as the corresponding arguments to the constructor method ofsge.dsp.Object
.
xsge_particle.Particle¶
xsge_particle.TimedParticle¶
-
class
xsge_particle.
TimedParticle
(x, y, z=0, life=None, tangible=False, **kwargs)[source]¶ Class for particle objects which are destroyed after a designated amount of time. It is otherwise identical to
Particle
.Note
An alarm with the name
"__life"
inevent_alarm()
is used to control the timing. It is initially set byevent_create()
.-
life
¶ The number of frames (adjusted for delta timing) after which the particle is destroyed. Setting this attribute resets the
"__life"
alarm to the given value. Set toNone
to disable timed destruction.
-
xsge_particle.TimedParticle Methods¶
-
TimedParticle.
__init__
(x, y, z=0, life=None, tangible=False, **kwargs)[source]¶ Arguments set the respective initial attributes of the object. See the documentation for
TimedParticle
for more information.x
,y
,z
,tangible
, and all arguments passed tokwargs
are passed as the corresponding arguments to the constructor method of the parent class.
xsge_particle.BubbleParticle¶
-
class
xsge_particle.
BubbleParticle
(x, y, z=0, turn_factor=1, min_angle=180, max_angle=0, tangible=False, **kwargs)[source]¶ Class for particle objects which randomly change their move directions.
Note
event_step()
is used to control this behavior.move_direction
is manipulated.-
turn_factor
¶ The largest amount of rotation possible.
-
min_angle
¶ The lowest possible angle permitted.
-
max_angle
¶ The highest possible angle permitted.
-
xsge_particle.BubbleParticle Methods¶
-
BubbleParticle.
__init__
(x, y, z=0, turn_factor=1, min_angle=180, max_angle=0, tangible=False, **kwargs)[source]¶ Arguments set the respective initial attributes of the object. See the documentation for
TimedParticle
for more information.x
,y
,z
,tangible
, and all arguments passed tokwargs
are passed as the corresponding arguments to the constructor method of the parent class.
xsge_particle.AnimationBubbleParticle¶
-
class
xsge_particle.
AnimationBubbleParticle
(x, y, z=0, turn_factor=1, min_angle=180, max_angle=0, tangible=False, **kwargs)[source]¶ Inherits the features of both
AnimationParticle
andBubbleParticle
.
xsge_particle.TimedBubbleParticle¶
-
class
xsge_particle.
TimedBubbleParticle
(x, y, z=0, life=None, tangible=False, **kwargs)[source]¶ Inherits the features of both
TimedParticle
andBubbleParticle
.