home *** CD-ROM | disk | FTP | other *** search
- program test;
-
- uses swoop,vroom,crt,time;
-
- var s1,w1,o11,p1,v1,r1,m1 : file_object3d;
- s,w,o1,o2,p,v,r,o3,o4,m : copy_object3d;
- t, tstart, inten : real;
-
- begin
- Init_System;
-
- Set_Ambient_Intensity(0.5);
- Set_Light(0.75,0,-1,-0.75);
- graphics_time:=@t;
-
- t:=GetSecondsTime;
- tstart:=t;
-
- Set_View(3000,30,0,0,0,0);
- Set_Window(-20,-15,20,15);
-
- s1.Init('s.3d');
- s1.Set_Reference_Point(7.5,20,30);
- s1.Hide;
- w1.Init('w.3d');
- w1.Set_Reference_Point(7.5,25,30);
- w1.Hide;
- o11.Init('o.3d');
- o11.Set_Reference_Point(7.5,25,30);
- o11.Hide;
- p1.Init('p.3d');
- p1.Set_Reference_Point(7.5,20,30);
- p1.Hide;
- v1.Init('v.3d');
- v1.Set_Reference_Point(7.5,25,30);
- v1.Hide;
- r1.Init('r.3d');
- r1.Set_Reference_Point(7.5,20,30);
- r1.Hide;
- m1.Init('w.3d');
- m1.Set_Reference_Point(7.5,25,30);
- m1.RotateY(180);
- m1.Hide;
-
- s.Init(@s1);
- w.Init(@w1);
- o1.Init(@o11);
- o2.Init(@o11);
- p.Init(@p1);
- v.Init(@v1);
- r.Init(@r1);
- o3.Init(@o11);
- o4.Init(@o11);
- m.Init(@m1);
-
- s.MoveTo(0,-85,30);
- w.MoveTo(0,-30,30);
- o1.MoveTo(0,30,30);
- o2.MoveTo(0,90,30);
- p.MoveTo(0,145,30);
-
- v.MoveTo(0,-85,-60);
- r.MoveTo(0,-30,-60);
- o3.MoveTo(0,30,-60);
- o4.MoveTo(0,90,-60);
- m.MoveTo(0,145,-60);
-
- s.Timed_RotateZ_About(1800,0,30,30,now+10,20);
- w.Timed_RotateZ_About(1800,0,30,30,now+10,20);
- o1.Timed_RotateZ_About(1800,0,30,30,now+10,20);
- o2.Timed_RotateZ_About(1800,0,30,30,now+10,20);
- p.Timed_RotateZ_About(1800,0,30,30,now+10,20);
- v.Timed_RotateZ_About(-1800,0,30,-60,now+10,20);
- r.Timed_RotateZ_About(-1800,0,30,-60,now+10,20);
- o3.Timed_RotateZ_About(-1800,0,30,-60,now+10,20);
- o4.Timed_RotateZ_About(-1800,0,30,-60,now+10,20);
- m.Timed_RotateZ_About(-1800,0,30,-60,now+10,20);
-
- s.Timed_RotateY_About(1800,0,30,30,now+30,10);
- w.Timed_RotateY_About(1800,0,30,30,now+30,10);
- o1.Timed_RotateY_About(1800,0,30,30,now+30,10);
- o2.Timed_RotateY_About(1800,0,30,30,now+30,10);
- p.Timed_RotateY_About(1800,0,30,30,now+30,10);
- v.Timed_RotateY_About(-1800,0,30,-60,now+30,10);
- r.Timed_RotateY_About(-1800,0,30,-60,now+30,10);
- o3.Timed_RotateY_About(-1800,0,30,-60,now+30,10);
- o4.Timed_RotateY_About(-1800,0,30,-60,now+30,10);
- m.Timed_RotateY_About(-1800,0,30,-60,now+30,10);
-
- while (t-tstart)<=6 do
- begin
- t:=GetSecondsTime;
- inten:=(t-tstart)/5;
- if inten>1 then inten:=1;
- s.Change_Colour(3,inten);
- w.Change_Colour(3,inten);
- o1.Change_Colour(3,inten);
- o2.Change_Colour(3,inten);
- p.Change_Colour(3,inten);
- v.Change_Colour(3,inten);
- r.Change_Colour(3,inten);
- o3.Change_Colour(3,inten);
- o4.Change_Colour(3,inten);
- m.Change_Colour(3,inten);
- redraw_scene;
- end;
-
- while (t-tstart)<40 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- s.Done;
- w.Done;
- o1.Done;
- o2.Done;
- p.Done;
- v.Done;
- r.Done;
- o3.Done;
- o4.Done;
- m.Done;
- s.Init(@s1);
- w.Init(@w1);
- o1.Init(@o11);
- o2.Init(@o11);
- p.Init(@p1);
- v.Init(@v1);
- r.Init(@r1);
- o3.Init(@o11);
- o4.Init(@o11);
- m.Init(@m1);
-
- s.MoveTo(0,-85,30);
- w.MoveTo(0,-30,30);
- o1.MoveTo(0,30,30);
- o2.MoveTo(0,90,30);
- p.MoveTo(0,145,30);
-
- v.MoveTo(0,-85,-60);
- r.MoveTo(0,-30,-60);
- o3.MoveTo(0,30,-60);
- o4.MoveTo(0,90,-60);
- m.MoveTo(0,145,-60);
-
- while (t-tstart)<=46 do
- begin
- inten:=(1-(t-tstart)+43)*0.5;
- t:=GetSecondsTime;
- o4.change_Colour(3,inten);
- Redraw_Scene;
- end;
-
- {now=46}
- o4.Done;
- m.Timed_RotateY_About(-90,-7.5,145,-90,now,1);
- o3.Timed_RotateX(-90,now+2,1);
- o3.Timed_Translate(0,55,-5,now+2,1);
- v.addchild(@r);
- v.Timed_RotateZ_About(90,0,-57.5,-60,now+4,3);
- v.Timed_RotateZ_About(-60,0,-57.5,-60,now+8,2);
- v.Timed_RotateZ_About(60,0,-57.5,-60,now+11,2);
- v.Timed_Translate(0,95.5,0,now+13,3);
-
- while (t-tstart)<63 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- v.addchild(@o3);
- v.addchild(@m);
- v.Timed_Translate(0,250,0,now,5);
-
- while (t-tstart)<69 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- v.removechild(@o3);
- v.removechild(@m);
- o3.done;
- m.done;
- v.RotateZ_About(-90,0,288,-60);
-
- s.Timed_RotateX_About(-24.7,0,-85,0,now,1);
- w.Timed_RotateX_About(-24.7,0,-85,0,now,1);
- o1.Timed_RotateX_About(-24.7,0,-85,0,now,1);
- o2.Timed_RotateX_About(-24.7,0,-85,0,now,1);
- p.Timed_RotateX_About(-24.7,0,-85,0,now,1);
- s.Timed_RotateX_About(24.7,0,110.26,-90,now+2,1);
- w.Timed_RotateX_About(24.7,0,110.26,-90,now+2,1);
- o1.Timed_RotateX_About(24.7,0,110.26,-90,now+2,1);
- o2.Timed_RotateX_About(24.7,0,110.26,-90,now+2,1);
- p.Timed_RotateX_About(24.7,0,110.26,-90,now+2,1);
-
- while (t-tstart)<73 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- s.Done;
- w.Done;
- o1.Done;
- o2.Done;
- p.Done;
- s.Init(@s1);
- w.Init(@w1);
- o1.Init(@o11);
- o2.Init(@o11);
- p.Init(@p1);
- s.MoveTo(0,-85-19.74,-60);
- w.MoveTo(0,-30-19.74,-60);
- o1.MoveTo(0,30-19.74,-60);
- o2.MoveTo(0,90-19.74,-60);
- p.MoveTo(0,145-19.74,-60);
-
- v.timed_translate(0,-85,0,now,3);
-
- while (t-tstart)<76 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- v.addchild(@s);
- v.addchild(@w);
- v.addchild(@o1);
- v.addchild(@o2);
- v.addchild(@p);
- v.timed_translate(0,-35,0,now,1);
-
- while (t-tstart)<78 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- while (t-tstart)<80 do
- begin
- t:=GetSecondsTime;
- v.scale_about(1,1,(t-tstart-78)*0.03+1,0,0,-90);
- Redraw_Scene;
- end;
-
- v.removechild(@s);
- v.removechild(@w);
- v.removechild(@o1);
- v.removechild(@o2);
- v.removechild(@p);
- v.removechild(@r);
-
- s.Timed_RotateZ_At(-90,now+5,infinity);
- w.Timed_RotateZ_At(-90,now+5,infinity);
- o1.Timed_RotateZ_At(-90,now+5,infinity);
- o2.Timed_RotateZ_At(-90,now+5,infinity);
- p.Timed_RotateZ_At(-90,now+5,infinity);
- v.Timed_RotateZ_At(-90,now+5,infinity);
- r.Timed_RotateZ_At(-90,now+5,infinity);
-
- while (t-tstart)<100 do
- begin
- t:=GetSecondsTime;
- Redraw_Scene;
- end;
-
- while (t-tstart)<=120 do
- begin
- t:=GetSecondsTime;
- inten:=1-((t-tstart-110)/10);
- if inten>1 then inten:=1;
- s.Change_Colour(3,inten);
- w.Change_Colour(3,inten);
- o1.Change_Colour(3,inten);
- o2.Change_Colour(3,inten);
- p.Change_Colour(3,inten);
- v.Change_Colour(3,inten);
- r.Change_Colour(3,inten);
- o3.Change_Colour(3,inten);
- o4.Change_Colour(3,inten);
- m.Change_Colour(3,inten);
- redraw_scene;
- end;
-
- s.Done;
- w.Done;
- o1.Done;
- o2.Done;
- p.Done;
- v.Done;
- r.Done;
- s1.Done;
- w1.Done;
- o11.Done;
- p1.Done;
- v1.Done;
- r1.Done;
- m1.Done;
-
- stop_graphics;
-
- end.