| 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"