Class | Gruff::Scene |
In: |
lib/gruff/scene.rb
|
Parent: | Gruff::Base |
A scene is a non-linear graph that assembles layers together to tell a story. Layers are folders with appropriately named files (see below). You can group layers and control them together or just set their values individually.
Examples:
Usage:
g = Gruff::Scene.new("500x100", "path/to/city_scene_directory") # Define order of layers, back to front g.layers = %w(background haze sky clouds) # Define groups that will be controlled by the same input g.weather_group = %w(clouds) g.time_group = %w(background sky) # Set values for the layers or groups g.weather = "cloudy" g.time = Time.now g.haze = true # Write the final graph to disk g.write "hazy_daytime_city_scene.png"
There are several rules that will magically select a layer when possible.
layers | [R] |
An array listing the foldernames that will be rendered, from back to front.
g.layers = %w(sky clouds buildings street people) |
Group layers to input values
g.weather_group = ["sky", "sea", "clouds"]
Set input values
g.weather = "cloudy"