Sha256: a3988387239199225be8e837a7e6237b608fdcfb719e448d83effa34f5c62599

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

require 'ruby2d'
require 'particlefx_ruby2d'
require 'particlefx2d'

# Test particle effect using Ruby2D
class BlueSwirlingSmokeFX
  def self.new_emitter
    ParticleFX2D::Emitter.new(
      renderer_factory: ParticleFX2D::Ruby2D::ShapeRendererFactory.new(ParticleFX2D::Ruby2D::ParticleImage),
      quantity: 200,
      emission_rate: 200,
      particle_config: {
        x: Window.width / 2, x_range: -10.0..10.0,
        y: Window.height / 2, y_range: -5.0..5.0,
        start_color: [0.5, 0.5, 1, 1],
        end_color: [0, 0, 0, 1],
        angle: 0, angle_range: 0.0..360.0,
        size: 32, size_range: 4,
        start_scale: 0.5, end_scale: 1.5,
        speed: 10, speed_range: 0..5,
        radial_acceleration: -3,
        tangential_acceleration: 6,
        life_time: 6, life_time_range: 0..2.0
      }
    )
  end
end

emitter = BlueSwirlingSmokeFX.new_emitter
tick = 0
update do
  frame_time = 1.0 / get(:fps)
  emitter.update frame_time
  tick += 1
  puts emitter.stats if (tick % 60).zero?
end
show

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
particlefx2d-0.5.0 example/ruby2d/fx_blue_swirling_smoke.rb
particlefx2d-0.4.0 example/ruby2d/fx_blue_swirling_smoke.rb
particlefx2d-0.3.0 example/ruby2d/fx_blue_swirling_smoke.rb