Sha256: 64a157cf59bcafd89f3758f057e07fbd6ab0fe085f856f1d4f6df16ed3cf4c2a

Contents?: true

Size: 883 Bytes

Versions: 1

Compression:

Stored size: 883 Bytes

Contents

module RubySketch


  class Context < Processing::Context

    include GraphicsContext

    def initialize(window)
      super
      @sprites__ = window.add SpritesView.new
    end

    def createSprite(*args, **kwargs)
      addSprite Sprite.new(*args, **kwargs)
    end

    def addSprite(sprite)
      @sprites__.add sprite.getInternal__ if sprite
      sprite
    end

    def removeSprite(sprite)
      @sprites__.remove sprite.getInternal__ if sprite
      sprite
    end

    def loadSound(path)
      Sound.load path
    end

    def gravity(*args)
      x, y =
        case args
        when Processing::Vector then args.array
        else args
        end
      @sprites__.then do |v|
        v.gravity x * v.meter, y * v.meter
      end
    end

    class SpritesView < Reflex::View
      def on_draw(e)
        e.block
      end
    end

  end# Context


end# RubySketch

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubysketch-0.5.3 lib/rubysketch/context.rb