text := '
xx xx xxxxx xxxxx xxxxx x x xxxxx x x xxxxx x xxxxx xxxxx xx xx x xxxxx
x x x x x x x x x x x x x x x x x x x x x x x x
x x xxx xxxx xxxx xxx x xxxxx xxxx x xxxxx x x x xxxxx xxxxx
x x x x x x x x x x x x x x x x x x x x x
x x xxxxx x x x x x xxxxx x x x x x xxxxx x x x x x xxxxx
'.
view := R3View new.
x := 0.
y := 0.
mat := R3Material new diffuse: Color lightGray.
mat specular: Color green.
mat shininess: 10.0.
text linesDo: [ :line |
line do: [ :c |
(c = $x) ifTrue: [
el := (R3CubeShape new color: Color green) element.
el on: R3MouseClickDown do: [ :evt | R3Blink on: evt element.
r := (R3Rotate on: evt element by: (R3Vector3 newX: -0.5)). view addAnimation: r ].
el translateByX: x y: y negated z: 0.
view add: el
].
x := x + 1
].
x := 0.
y := y + 1.
].
view lightingModel: R3MultipassPerPixelLighting new.
view addInteraction: R3MouseControl new; addInteraction: R3KeyControlForMac new.
view open