Sha256: cc04b7f8b42bbb387fa0da59c087efb28e990b9df79f5cb5cd95bc8548d99f56

Contents?: true

Size: 905 Bytes

Versions: 4

Compression:

Stored size: 905 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
  size 350, 350
  @frames         = []
  @last_time      = 0
  @current_frame  = 0
  @draw           = false
  @back_color     = 204  
  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

4 entries across 4 versions & 1 rubygems

Version Path
ruby-processing-2.4.4 samples/contributed/animator.rb
ruby-processing-2.4.3 samples/contributed/animator.rb
ruby-processing-2.4.2 samples/contributed/animator.rb
ruby-processing-2.4.1 samples/contributed/animator.rb