home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 August / IMM0895.BIN / magazin / optix / disk1 / optxppac.set / TUTOUCHX.OPT < prev    next >
Text File  |  1995-04-27  |  8KB  |  390 lines

  1. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2. rem  Beispiellisting für komplexe OPTIX-Programmierung !!!
  3. rem  Diese Demo wurde als Touch-Demo konzipiert, ist   !!!
  4. rem  aber auch per Maus bedienbar.                     !!!
  5. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  6. rem  !!!!!!                                         !!!!!!
  7. rem  !!!!!!    Sie können 'TUTOUCH.ANI auch per     !!!!!!
  8. rem  !!!!!!  (A)nimation im 'Start'-Menü starten.   !!!!!!
  9. rem  !!!!!!                                         !!!!!!
  10. rem  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  11.  
  12.  
  13. rem  **************  Maus / Touch-Demo  **************
  14.  
  15. rem  *** Bei Darstellung des kleinen TUT können alle
  16. rem  *** Bereiche der Büste mit der Maus angewählt
  17. rem  *** werden. Die 12 Mini-TUTs unter dem EXIT-Button
  18. rem  *** sind auch 'sehr' empfindlich.  Die große Büste
  19. rem  *** ist dagegen 'unberührbar'.
  20. rem
  21. rem  **************  Maus / Touch-Demo  **************
  22.  
  23. def(x)
  24. def(y)
  25. def(i)
  26. def(j)
  27. def(k)
  28. def(mx,639)
  29. def(my,479)
  30. def(tx,60)
  31. def(ty,300)
  32. def(flag)
  33.  
  34. defs(tit ,'B U T T O N S')
  35. defs(ta1 ,' TouchEnchAmun')
  36. defs(ta2 ,'  Z  O   O  M')
  37. defs(dum1$)
  38. defs(dum2$)
  39.  
  40. procedure pbutton(xl,yo,xr,yu,c1,c2)
  41.  
  42.    locals(i,j)
  43.    setcolor(255)
  44.    setbcolor(240)
  45.    viewport(xl,yo,xr,yu)
  46.    plateau(vcolor,bcolor)
  47.    setcolor(247)
  48.    for I:=0 to 3 do
  49.       decviewport
  50.       rectangle
  51.    next(i)
  52.    setcolor(c1)
  53.    setbcolor(c2)
  54.    for I:=0 to 10 do
  55.       plateau(c1,c2)
  56.       for j:=0 to 2 do
  57.          decviewport
  58.       next(j)
  59.    next(i)
  60.    for I:=0 to 2 do
  61.       decviewport
  62.       plateau(c1,c2)
  63.    next(i)
  64.  
  65. return
  66.  
  67. procedure button(xl,yo,xr,yu,b1,b2)
  68.  
  69.    locals(i,j)
  70.    setcolor(248)
  71.    line(xr,yo,xr,yu,0)
  72.    line(xl,yu,xr,yu,0)
  73.    viewport(xl-1,yo-1,xr,yu)
  74.    for I:=0 to b1-1 do
  75.       decviewport
  76.       plateau(255,248)
  77.    next(i)
  78.    for I:=0 to b2-1 do
  79.       decviewport
  80.       plateau(247,247)
  81.    next(i)
  82.    for I:=0 to b1-1 do
  83.       decviewport
  84.       plateau(248,255)
  85.    next(i)
  86.  
  87. return
  88.  
  89. procedure outlin(x,y,b,h,k)
  90.  
  91.    copywin(x,y,x+b-1,y+h-1)
  92.    keycol(k)
  93.    key(on)
  94.    loadwin(x-1,y,0,0)
  95.    loadwin(x-1,y-1,0,0)
  96.    loadwin(x,y-1,0,0)
  97.    loadwin(x+1,y-1,0,0)
  98.    loadwin(x+1,y,0,0)
  99.    loadwin(x+1,y+1,0,0)
  100.    loadwin(x,y+1,0,0)
  101.    loadwin(x-1,y+1,0,0)
  102.    key(off)
  103.  
  104. return
  105.  
  106.  
  107. BEGIN
  108.  
  109. readfont(1,'bit16x16.fnt')
  110. readfont(2,'tri22n.fnt')
  111. font(2)
  112. cursoff
  113.  
  114. clearscreen(247)
  115.  
  116. textcofs(11)
  117. textcolor(248)
  118. textcofs(29)
  119. printat(15,14,tit)
  120.  
  121. readsound('typewrit.snd')
  122. for i:= 0 to 6 do
  123.   outlin(i*95+10,10,58,70,247)
  124.   startsound
  125. next(i)
  126.  
  127. textcolor(248)
  128. printat(15,14,tit)
  129.  
  130. copywin(15,4,639,83)
  131.  
  132. textcolor(255)
  133. printat(13,12,tit)
  134. textcolor(240)
  135. printat(17,16,tit)
  136. key(on)
  137.  
  138. loadwin(15,4,0,0)
  139.  
  140. textcolor(247)
  141. printat(15,14,tit)
  142.  
  143. readpic('tut.bmp')
  144. getsubpal(15)
  145. setallpal
  146.  
  147. keycol(141)
  148. key(on)
  149.  
  150. button(26,72,612,455,1,2)
  151. button(29,75,609,452,1,2)
  152.  
  153. for I:=282 to 590 step 40 do
  154.    loadwin(i,190,29,0)
  155. next(i)
  156.  
  157. copywin(283,190,602,234)
  158.  
  159. for j:=240 to 400 step 50 do
  160.    loadwin(283,j,0,0)
  161. next(j)
  162.  
  163. loadwin(43,340,0,0)
  164. loadwin(43,390,0,0)
  165.  
  166. readfont(2,'tri22n.fnt')
  167.  
  168. readpic('tut.bmp')
  169.  
  170. viewport(50,100,265,265)
  171. cbox(9,240,0)
  172. loadwin(352,90,20,0)
  173.  
  174.    textcolor(255)
  175.    printat(115,155,'Exit')
  176.    textcolor(240)
  177.    printat(115,157,'Exit')
  178.    textcolor(247)
  179.    printat(115,156,'Exit')
  180.  
  181. key(off)
  182.  
  183. button(40,90,260,260,4,50)
  184. for i:=0 to 50 step 10 do
  185.    button(40+i,90+i,260-i,260-i,1,1)
  186. next(i)
  187.  
  188. button(40,284,260,328,1,3)
  189.  
  190. font(1)
  191.  
  192. keycol(141)
  193. key(on)
  194.  
  195. pbutton(315,287,560,388,255,248)
  196. cbox(0,247,0)
  197.  
  198.  
  199.    textcolor(244)
  200.    textbcolor(255)
  201.    writestyle(3)
  202.    texttrnsp(1)
  203.    textshadow(0,-1)
  204.    textcofs(-3)
  205.    printat(340,330,Ta1)
  206.  
  207. :menu                                  *** Hauptmenü
  208.  
  209.    scrtobuf
  210.  
  211.    textbcolor(247)
  212.    textcolor(248)
  213.    textshadow(0,-1)
  214.    texttrnsp(0)
  215.    textcofs(-2)
  216.  
  217.    for i:=0 to 5 do
  218.      defbutton(46+i*40 ,344,40 ,45 ,0,0,0,0,#99,'pump')
  219.      defbutton(46+i*40 ,394,40 ,45 ,0,0,0,0,#99,'pump')
  220.    next(i)
  221.    defbutton(92 ,138,112,132,0,0,0,0,esc,'exit')
  222.    defbutton(315,287,240,100,0,0,0,0,ret,'bild')
  223.  
  224.    defbutton(430,210, 16,65,0,0,0,0,#99,'bart')
  225.    defbutton(435,153,  8,23,0,0,0,0,#99,'nase')
  226.    defbutton(422,210, 33,30,0,0,0,0,#99,'hals')
  227.    defbutton(423,177, 29,18,0,0,0,0,#99,'mund')
  228.    defbutton(404,142, 28,21,0,0,0,0,#99,'auge_r')
  229.    defbutton(443,142, 28,63,0,0,0,0,#99,'auge_l')
  230.    defbutton(421, 85, 17,47,0,0,0,0,#99,'diadem')
  231.    defbutton(398,140, 70,63,0,0,0,0,#99,'gesicht')
  232.    defbutton(360,116, 35,90,0,0,0,0,#99,'perücke_lo')
  233.    defbutton(381,215, 35,75,0,0,0,0,#99,'perücke_lu')
  234.    defbutton(478,116, 35,82,0,0,0,0,#99,'perücke_ro')
  235.    defbutton(459,215, 35,75,0,0,0,0,#99,'perücke_ru')
  236.    defbutton(356,240,160,41,0,0,0,0,#99,'brustschild')
  237.    defbutton(388,100, 90,43,0,0,0,0,#99,'haube')
  238.  
  239.    curson(mousex,mousey)
  240.    checkbutton('exit',20,0)
  241.  
  242.  
  243.  
  244.  
  245. :bild                           *** Vergrösserung
  246.  
  247.  
  248.    cursoff
  249.    textcolor(248)
  250.    textbcolor(255)
  251.    writestyle(3)
  252.    texttrnsp(1)
  253.    textshadow(0,1)
  254.    textcofs(-3)
  255.  
  256.    button(95,145,205,205,1,50)
  257.    pbutton(315,287,560,388,248,255)
  258.    cbox(0,247,0)
  259.    printat(340,330,Ta2)
  260.  
  261.    pause(100)
  262.  
  263.    pbutton(315,287,560,388,255,248)
  264.    cbox(0,247,0)
  265.    textshadow(0,-1)
  266.    printat(340,330,Ta1)
  267.  
  268.    readsound('ping.snd')
  269.    startsound
  270.    for i:=590 to 45 step -2 do
  271.       button(i,440,596,462,1,1)
  272.    next(i)
  273.    copywin(590,440,599,469)
  274.    for i:=590 to 220 step -3 do
  275.       loadwin(i,440,0,0)
  276.    next(i)
  277.  
  278.    readsound('typewrit.snd')
  279.    textcolor(240)
  280.  
  281.    dum1$:='VERGRÖSSERUNG'
  282.    len(dum1$,i)
  283.    for j:=1 to i do
  284.      dum2$:=dum1$
  285.      mid(dum2$,j,1)
  286.      printat(37+j*13,444,dum2$)
  287.      startsound
  288.      random(50,k)
  289.      pause(50+k)
  290.    next(j)
  291.  
  292.    readpic('tut.bmp')
  293.    readsound('ping.snd')
  294.    startsound
  295.    loadwin(245,2,5,0)
  296.  
  297.    defbutton(0,0,639,479,0,0,0,0,'a','ping')
  298.    defbutton(0,0,639,479,0,0,0,0,ret,'ping')
  299.    curson(mousex,mousey)
  300.    checkbutton('ping',15,0)
  301.    :ping
  302.    readsound('ping.snd')
  303.    startsound
  304.    loadpic(42,0)
  305.  
  306. goto('menu')
  307.  
  308.  
  309.  
  310. :pump                             *** 'AUA'-Effekt bei 12 Mini-Tut's
  311.  
  312.    mx:=(mousex-43)/40
  313.    mx:=(mx*40)+43
  314.    my:=(mousey-340)/50
  315.    my:=(my*50)+340
  316.    readsound('auahoch.snd')
  317.    startsound
  318.    cursoff
  319.    for I := 0 to 8 step 2 do
  320.      loadwin(mx-(i*6),my-(i*9),29-i,0)
  321.      wait(5)
  322.    next(i)
  323.    curson(mousex,mousey)
  324.    loadpic(42,0)
  325.  
  326. goto('menu')
  327.  
  328.  
  329.  
  330.  
  331. :bart                                *** Reaktion auf Mini-Tut-Klicks
  332.    printat(tx,ty,'BART        ')
  333. goto('tut')
  334. :nase
  335.    printat(tx,ty,'NASE        ')
  336. goto('tut')
  337. :hals
  338.    printat(tx,ty,'HALS        ')
  339. goto('tut')
  340. :mund
  341.    printat(tx,ty,'MUND        ')
  342. goto('tut')
  343. :auge_r
  344.    printat(tx,ty,'RECHTES AUGE')
  345. goto('tut')
  346. :auge_l
  347.    printat(tx,ty,'LINKES AUGE ')
  348. goto('tut')
  349. :diadem
  350.    printat(tx,ty,'DIADEM      ')
  351. goto('tut')
  352. :gesicht
  353.    printat(tx,ty,'GESICHT     ')
  354. goto('tut')
  355. :perücke_lo
  356.    printat(tx,ty,'GOLDHAUBE   ')
  357. goto('tut')
  358. :perücke_lu
  359.    printat(tx,ty,'GOLDKRAGEN  ')
  360. goto('tut')
  361. :perücke_ro
  362.    printat(tx,ty,'GOLDHAUBE   ')
  363. goto('tut')
  364. :perücke_ru
  365.    printat(tx,ty,'GOLDKRAGEN  ')
  366. goto('tut')
  367. :brustschild
  368.    printat(tx,ty,'BRUSTSCHILD ')
  369. goto('tut')
  370. :haube
  371.    printat(tx,ty,'STIRNKAPPE  ')
  372. goto('tut')
  373.  
  374. :tut
  375.   readsound('typewrite.snd')
  376.   startsound
  377. goto('menu')
  378.  
  379.  
  380.  
  381.  
  382. :exit                                  *** Programmende
  383.  
  384. button(50,100,250,250,5,25)
  385. pause(100)
  386.  
  387.  
  388. end
  389.  
  390.