class Rubink

Attributes

dragX[RW]
dragY[RW]
p[RW]
sprites[RW]
window[RW]

Public Class Methods

build(script) click to toggle source
# File lib/rubink.rb, line 25
def build(script)
  @script = script

  return if invalid

  @app_name = File.basename(script,"rb")

  root = File.expand_path '../..', __FILE__

  Opal.append_path "."
  Opal.append_path root+"/lib"

  src = ""

  #Adding Libraries first
  src << IO.binread(root+"/lib/processing.js")
  src << IO.binread(root+"/lib/hammer.js")

  #Compile Rubink, script and wire it up
  src << Opal::Builder.build("app").to_s
  src << Opal::Builder.build(script).to_s
  src << Opal::Builder.build("start").to_s

  File.binwrite "app_#{@app_name}js", src
  File.binwrite "main_#{@app_name}html", main_html_template
  puts "main_#{@app_name}html was generated"
end
invalid() click to toggle source
# File lib/rubink.rb, line 53
def invalid
  if @script.nil?
    puts "Stopping, no script given, provide script path"
    return true
  end

  unless File.exist?(@script)
    puts "Stopping, invalid filename"
    return true
  end
end
main_html_template() click to toggle source
# File lib/rubink.rb, line 65
def main_html_template
  "<meta charset='utf-8'> <canvas style='outline:none' id='canvas'></canvas> <script src='app_#{@app_name}js'></script>"
end
new() click to toggle source
# File lib/app.rb, line 40
def initialize
  ink_setup
  @p = $p
  @window = $window
  @sprites = [] 
  @m = 0 
  @sprite = 0
end
run() click to toggle source
# File lib/rubink.rb, line 69
def run

  opal_v = %x( opal -v )

  if opal_v
    puts "Rubink is working on it"
    build(ARGV[0])
  else
    puts "Stopping, Opal not found. Please first run:"
    puts "gem insall opal"
  end

end

Public Instance Methods

drag(x,y) click to toggle source
# File lib/app.rb, line 60
def drag(x,y) 
  @dragX,@dragY = x,y
end
keyPressed() click to toggle source
# File lib/app.rb, line 88
def keyPressed  
end
mouseClicked() click to toggle source
# File lib/app.rb, line 82
def mouseClicked
end
mouseMoved() click to toggle source
# File lib/app.rb, line 85
def mouseMoved
end
mousePressed() click to toggle source
# File lib/app.rb, line 76
def mousePressed   
end
mouseReleased() click to toggle source
# File lib/app.rb, line 79
def mouseReleased
end
passMili?(time) click to toggle source
# File lib/app.rb, line 64
def passMili?(time)
  @m = @p.millis if @m == 0
  @m2 = @p.millis 
  @m3 = @m2 - @m 
  if @m3 >= time
    @m,@m2 = 0,0
    return true 
  else
    return false
  end
end
pushSprite(sprite) click to toggle source
# File lib/app.rb, line 56
def pushSprite(sprite)
  @sprites.push(@p.loadImage(sprite))
end
renderSprite(milisec, x, y, w, h) click to toggle source
# File lib/app.rb, line 50
def renderSprite(milisec, x, y, w, h)
  @p.image(@sprites[@sprite],x,y,w,h)
  @sprite += 1  if passMili?(milisec) 
  @sprite = 0 if @sprites.length == @sprite
end