Particles

arcade.EternalParticle

class arcade.EternalParticle(filename_or_texture: Union[str, arcade.texture.Texture], change_xy: Union[Tuple[float, float], List[float]], center_xy: Union[Tuple[float, float], List[float]] = (0.0, 0.0), angle: float = 0, change_angle: float = 0, scale: float = 1.0, alpha: int = 255, mutation_callback=None)[source]

Particle that has no end to its life

can_reap()[source]

Determine if Particle can be deleted

arcade.FadeParticle

class arcade.FadeParticle(filename_or_texture: Union[str, arcade.texture.Texture], change_xy: Union[Tuple[float, float], List[float]], lifetime: float, center_xy: Union[Tuple[float, float], List[float]] = (0.0, 0.0), angle: float = 0, change_angle: float = 0, scale: float = 1.0, start_alpha: int = 255, end_alpha: int = 0, mutation_callback=None)[source]

Particle that animates its alpha between two values during its lifetime

update()[source]

Advance the Particle’s simulation

arcade.LifetimeParticle

class arcade.LifetimeParticle(filename_or_texture: Union[str, arcade.texture.Texture], change_xy: Union[Tuple[float, float], List[float]], lifetime: float, center_xy: Union[Tuple[float, float], List[float]] = (0.0, 0.0), angle: float = 0, change_angle: float = 0, scale: float = 1.0, alpha: int = 255, mutation_callback=None)[source]

Particle that lives for a given amount of time and is then deleted

can_reap()[source]

Determine if Particle can be deleted

update()[source]

Advance the Particle’s simulation

arcade.Particle

class arcade.Particle(filename_or_texture: Union[str, arcade.texture.Texture], change_xy: Union[Tuple[float, float], List[float]], center_xy: Union[Tuple[float, float], List[float]] = (0.0, 0.0), angle: float = 0.0, change_angle: float = 0.0, scale: float = 1.0, alpha: int = 255, mutation_callback=None)[source]

Sprite that is emitted from an Emitter

can_reap()[source]

Determine if Particle can be deleted

update()[source]

Advance the Particle’s simulation

arcade.make_burst_emitter

arcade.make_burst_emitter(center_xy: Union[Tuple[float, float], List[float]], filenames_and_textures: Sequence[Union[str, arcade.texture.Texture]], particle_count: int, particle_speed: float, particle_lifetime_min: float, particle_lifetime_max: float, particle_scale: float = 1.0, fade_particles: bool = True)[source]

Returns an emitter that emits all of its particles at once

arcade.make_interval_emitter

arcade.make_interval_emitter(center_xy: Union[Tuple[float, float], List[float]], filenames_and_textures: Sequence[Union[str, arcade.texture.Texture]], emit_interval: float, emit_duration: float, particle_speed: float, particle_lifetime_min: float, particle_lifetime_max: float, particle_scale: float = 1.0, fade_particles: bool = True)[source]

Returns an emitter that emits its particles at a constant rate for a given amount of time

arcade.EmitBurst

class arcade.EmitBurst(count: int)[source]

Used to configure an Emitter to emit particles in one burst

arcade.EmitController

class arcade.EmitController[source]

Base class for how a client configure the rate at which an Emitter emits Particles

Subclasses allow the client to control the rate and duration of emitting

arcade.EmitInterval

class arcade.EmitInterval(emit_interval: float)[source]

Base class used to configure an Emitter to have a constant rate of emitting. Will emit indefinitely.

arcade.EmitMaintainCount

class arcade.EmitMaintainCount(particle_count: int)[source]

Used to configure an Emitter so it emits particles so that the given count is always maintained

arcade.Emitter

class arcade.Emitter(center_xy: Union[Tuple[float, float], List[float]], emit_controller: arcade.emitter.EmitController, particle_factory: Callable[[arcade.emitter.Emitter], arcade.particle.Particle], change_xy: Union[Tuple[float, float], List[float]] = (0.0, 0.0), emit_done_cb: Optional[Callable[[arcade.emitter.Emitter], None]] = None, reap_cb: Optional[Callable[[], None]] = None)[source]

Emits and manages Particles over their lifetime. The foundational class in a particle system.

can_reap() bool[source]

Determine if Emitter can be deleted

get_pos() Union[Tuple[float, float], List[float]][source]

Get position of emitter

arcade.EmitterIntervalWithCount

class arcade.EmitterIntervalWithCount(emit_interval: float, particle_count: int)[source]

Configure an Emitter to emit particles with given interval, ending after emitting given number of particles

arcade.EmitterIntervalWithTime

class arcade.EmitterIntervalWithTime(emit_interval: float, lifetime: float)[source]

Configure an Emitter to emit particles with given interval, ending after given number of seconds