Sha256: 1dce005ac3edfe848dcaa454ce8e2a41dd13b3e54298aa43b84c99ae39bd4253

Contents?: true

Size: 902 Bytes

Versions: 8

Compression:

Stored size: 902 Bytes

Contents

# From the Processing Examples
# Uses the "bare" style, where a Processing::App sketch is implicitly wrapped
# around the code.
# -- omygawshkenas

FRAME_COUNT = 12

def setup
  @frames         = []
  @last_time      = 0
  @current_frame  = 0
  @draw           = false
  @back_color     = 204
  size 350, 350
  stroke_weight 4
  smooth
  background @back_color
  FRAME_COUNT.times { @frames << get() }
end

def draw
  time = millis()
  if time > @last_time + 100
    next_frame
    @last_time = time
  end
  line(pmouse_x, pmouse_y, mouse_x, mouse_y) if @draw
end

def mouse_pressed; @draw = true; end
def mouse_released; @draw = false; end

def key_pressed
  background @back_color
  @frames.size.times {|i| @frames[i] = get()}
end

def next_frame
  @frames[@current_frame] = get()
  @current_frame += 1
  @current_frame = 0 if @current_frame >= @frames.size
  image(@frames[@current_frame], 0, 0)
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ruby-processing-1.0.11 samples/contributed/animator.rb
ruby-processing-1.0.10.1 samples/contributed/animator.rb
ruby-processing-1.0.9 samples/animator.rb
ruby-processing-1.0.4 samples/animator.rb
ruby-processing-1.0.5 samples/animator.rb
ruby-processing-1.0.6 samples/animator.rb
ruby-processing-1.0.7 samples/animator.rb
ruby-processing-1.0.8 samples/animator.rb