% % Demo I once saw on the Amiga % (Just a quicky...) % % 9th May, 1993 % % By Martin Brownlow % type ground "\data\ground.3d"; type bouncy "\data\ball.3d"; prefs "\data\sph_pref.prf"; palette 5; object thing type bouncy at [0,0,800] looking [180*16,0,0]; object g1_1 type ground at [-400,300,400]; object g1_2 type ground at [0,300,400]; object g1_3 type ground at [400,300,400]; object g2_1 type ground at [-400,300,800]; object g2_2 type ground at [0,300,800]; object g2_3 type ground at [400,300,800]; object g2_4 type ground at [800,300,800]; object g3_1 type ground at [-800,300,1200]; object g3_2 type ground at [-400,300,1200]; object g3_3 type ground at [0,300,1200]; object g3_4 type ground at [400,300,1200]; object g3_5 type ground at [800,300,1200]; object g3_6 type ground at [1200,300,1200]; object g4_1 type ground at [-1200,300,1600]; object g4_2 type ground at [-800,300,1600]; object g4_3 type ground at [-400,300,1600]; object g4_4 type ground at [000,300,1600]; object g4_5 type ground at [400,300,1600]; object g4_6 type ground at [800,300,1600]; object g4_7 type ground at [1200,300,1600]; camera cam1 at [0,-50,0] looking [0,0,0] active; lightsource lig1 at [0,-500,0] lit; cam1.main[]{ x = thing.thru; frame; } lig1.main[]{ x = thing.thru; frame; } thing.main[]{ thru = 0; while [ thru<200 ]{ rotate to [0,(thru*360*16)/400,0]; move to [0,0,800] forward [200]; x=thru; z=800; if [y>0] { y = y * (-1); } rotate to [180*16,0,(thru*360*16)/400]; thru = thru + 8; frame; } endsim; } g1_1.main[]{ wait; } g1_2.main[]{ wait; } g1_3.main[]{ wait; } g2_1.main[]{ wait; } g2_2.main[]{ wait; } g2_3.main[]{ wait; } g2_4.main[]{ wait; } g3_1.main[]{ wait; } g3_2.main[]{ wait; } g3_3.main[]{ wait; } g3_4.main[]{ wait; } g3_5.main[]{ wait; } g3_6.main[]{ wait; } g4_1.main[]{ wait; } g4_2.main[]{ wait; } g4_3.main[]{ wait; } g4_4.main[]{ wait; } g4_5.main[]{ wait; } g4_6.main[]{ wait; } g4_7.main[]{ wait; }