Sha256: 48906d755cc3fead615f8e300aa6dc1ae3559b40504932c37a561406258aab33
Contents?: true
Size: 1.22 KB
Versions: 4
Compression:
Stored size: 1.22 KB
Contents
# # Cubes Contained Within a Cube # by Ira Greenberg. # # Collision detection against all # outer cube's surfaces. # # 20 little internal cubes load_library 'cube' # Size of outer cube BOUNDS = 300 CUBE_NO = 20 # using java_alias to give signatures to overloaded java methods # in the sketch class java_alias :background_int, :background, [Java::int] java_alias :stroke_int, :stroke, [Java::int] # using java_alias to give signatures to overloaded java method # in the cube class, need to call $app.fill_int in cube java_alias :fill_int, :fill, [Java::int] attr_reader :cubies def setup size(640, 360, P3D) @cubies = [] CUBE_NO.times do # Cubies are randomly sized cubie_size = rand(5 .. 15) cubies << Cube.new(cubie_size, cubie_size, cubie_size) end smooth 8 end def draw background_int(50) lights # Center in display window translate(width/2, height/2, -130) # Rotate everything, including external large cube rotate_x(frame_count * 0.001) rotate_y(frame_count * 0.002) rotate_z(frame_count * 0.001) stroke_int(255) # Outer transparent cube, just using box method no_fill box(BOUNDS) # Move and rotate cubies cubies.each do |c| c.update c.display end end
Version data entries
4 entries across 4 versions & 1 rubygems