home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 August / IMM0895.BIN / magazin / optix / disk1 / optxppac.set / BEAMING.OPT < prev    next >
Text File  |  1995-05-05  |  3KB  |  153 lines

  1.  
  2. def(i)
  3. def(j)
  4. def(k)
  5. def(l)
  6.  
  7. procedure vstretch(flg,qxl,qyo,qxr,qyu,zxl,zyo,p)
  8.  
  9.   rem ***
  10.   rem *** erzeugt einen 'Dehnungseffekt' mit einem Teil des
  11.   rem *** aktuellen WIN-Puffers.
  12.   rem *** Ggfls. muß vor Aufruf KEY(off) gesetzt werden.
  13.   rem ***
  14.   rem *** flg :  Richtungsflag (0 = vert. / <>0 = horiz.)
  15.   rem ***        (in horizontaler Richtung kann der Effekt sehr
  16.   rem ***        langwierig werden.)
  17.   rem *** qxl :  linke Quell-X-Koord. im Win-Puffer
  18.   rem *** qyo :  obere Quell-Y-Koord. im Win-Puffer
  19.   rem *** qxr :  rechte Quell-X-Koord. im Win-Puffer
  20.   rem *** qyu :  untere Quell-X-Koord. im Win-Puffer
  21.   rem *** zxl :  linke X-Koord. des Zielrechtecks
  22.   rem *** zyo :  obere Y-Koord. des Zielrechtecks
  23.   rem *** p   :  Verzögerungsfaktor
  24.   rem ***
  25.  
  26.   locals(i,j,k,l,m)
  27.  
  28.   if flg=0
  29.     l:=qyu-qyo+1
  30.     m:=qxr-qxl+1
  31.   else
  32.     l:=qxr-qxl+1
  33.     m:=qyu-qyo+1
  34.   endif
  35.  
  36.   for i:=0 to l/2-1 do
  37.    k:=(l/2*100)/(i+1)
  38.    for j:=0 to i do
  39.     if flg=0
  40.      loadsprite(qxl,qyo+j*k/100,zxl,zyo+l/2-i+j,m,1)
  41.      loadsprite(qxl,qyo+l-j*k/100-1,zxl,zyo+l/2+i-j+1,m,1)
  42.     else
  43.      loadsprite(qxl+j*k/100,qyo,zxl+l/2-i+j,zyo,1,m)
  44.      loadsprite(qxl+l-j*k/100-1,qyo,zxl+l/2+i-j+1,zyo,1,m)
  45.     endif
  46.    next(j)
  47.    wait(p+1)
  48.   next(i)
  49.  loadsprite(qxl,qyo,zxl,zyo,m,l)
  50. return
  51.  
  52. begin
  53.  
  54.   readsound('boing.wav')
  55.   readpic('optix256.tga')
  56.  
  57.   fadeout(0)
  58.   clearscreen(45)
  59.   fadein(1)
  60.  
  61.   readfont(1,'hel15x29.fnt')
  62.   font(1)
  63.   textcofs(3)
  64.   for i:=0 to 3 do
  65.     setrgbcolor(0,0,0,0)
  66.     pause(200)
  67.     setrgbcolor(28,24,27,0)
  68.     pause(200)
  69.   next(i)
  70.   textcolor(0)
  71.   clearscreen(45)
  72.   printat(470,45,'SUB-LOOPS')
  73.   printat(470,75,'SHRINKING')
  74.   printat(470,105,'BEAMING')
  75.  
  76.   keycol(45)
  77.   key(on)
  78.   copywin(470,45,620,200)
  79.   for i:=-1 to 1 do
  80.     for j:=-1 to 1 do
  81.       loadwin(470+i,45+j,0,0)
  82.     next(j)
  83.   next(i)
  84.   copywin(469,44,469+winx+2,44+winy+2)
  85.   clearscreen(45)
  86.   setrgbcolor(0,0,0,0)
  87.  
  88.   key(off)
  89.   startsound
  90.   vstretch(0,0,0,winx,29,469,43,0)
  91.   sync(500)
  92.   startsound
  93.   vstretch(0,0,30,winx,59,469,73,0)
  94.   sync(500)
  95.   startsound
  96.   vstretch(0,0,60,winx,89,469,103,0)
  97.   key(on)
  98.  
  99.   textcolor(200)
  100.   printat(470,44,'SUB-LOOPS')
  101.   printat(470,74,'SHRINKING')
  102.   printat(470,104,'BEAMING')
  103.   copywin(469,43,469+winx+2,44+winy+2)
  104.   for i:=4 downto 0 do
  105.     loadwin(469+i,44+i,0,0)
  106.   next(i)
  107.   keycol(227)
  108.  
  109.   scrtobuf
  110.   readpic('optix256.tga')
  111.   loadwin(50,30,23,0)
  112.   copywin(50,30,50+winx/5,30+winy/5)
  113.   key(off)
  114.   vstretch(0,0,0,winx,winy,50,30,0)
  115.   readpic('optix256.tga')
  116.   keycol(227)
  117.   key(on)
  118.  
  119.   viewport(50,30,160,160)
  120.   wait(1000)
  121.   restorebox(0,0)
  122.  
  123.   readsound('huii.snd')
  124.   startsound
  125.   setcolor(200)
  126.   line(100,100,550,260,50)
  127.   setcolor(45)
  128.   line(100,100,550,260,50)
  129.   readsound('boing.wav')
  130.  
  131.   viewport(500,200,500+winx/2,200+winy/2)
  132.   for i:=1 to 9 do
  133.     restorebox(0,0)
  134.     loadwin(500,200,20+i,0)
  135.   next(i)
  136.  
  137.   for k:=0 to 3 do
  138.     for j:=0 to 4 do
  139.       startsound
  140.       for i:=29 downto 23 do
  141.         loadwin(20+j*85,20+k*110,i,0)
  142.       next(i)
  143.     next(j)
  144.   next(k)
  145.  
  146.   loadwin(40,40,0,0)
  147.  
  148.   pause(5000)
  149.   fadeout(1)
  150.  
  151.  
  152. end
  153.