home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 42 / af042b.adf / Extras.lha / Scrolling_text_demo.AMOS / Scrolling_text_demo.amosSourceCode < prev   
AMOS Source Code  |  1992-02-21  |  5KB  |  162 lines

  1. CL0SE_ALL
  2. SCR0LLY_TEXT
  3. Procedure SCR0LLY_TEXT
  4.    Dim X(46),Y(46),X2(46),Y2(46),SIZE(46)
  5.    SC$="OH DEAR A BORING SCROLL........ HOW ABOUT THIS!!!!! WELCOME TO THE AMOS SCROLLY DEMO....."
  6.    SC$=SC$+" THIS IS A SIMPLE DEMO SHOWING HOW PROFESSIONAL EFFECTS CAN BE ACHIEVED WITH ONLY A LITTLE WORK."
  7.    SC$=SC$+" THE TOP SCROLL IS SIMPLY A DIRECT COPY OF THE BOTTOM SCROLL, THIS CAN BE DONE IN AMOS WITHOUT USING ANY MORE MEMORY!"
  8.    SC$=SC$+" YOU COULD ADAPT THIS PROGRAM TO PRODUCE SCROLLING TITLES FOR YOUR HOME MOVIES OR YOUR LATEST MEGA GAME."
  9.    SC$=SC$+" AS WITH ALL SCROLLY DEMOS A LIST OF GREETINGS MUST BE PREVALENT SO HERE GOES -------"
  10.    SC$=SC$+" HI TO PETER LEE (HOPE LIFE AT AMIGA ACTION IS GOOD), NICK HARPER (ENJOY THE USA), RICK (DANGEROUS) VANNER, FRANCOIS (AMAZING) LIONET, MARC (FUN SCHOOL - ARRRGGHHH - 4) DAWSON,"
  11.    SC$=SC$+" SANDRA (L.P.D. A.P.D. C.D.T.V. V.A.T. P.O.O.L.) SHARKEY, THE REST OF THE SHARKEY CLAN, AARON (GO OUT AND BUY TOME) FOTHERGILL,"
  12.    SC$=SC$+" GARY (I LOVE C) SYMONS, TERRY (CAN I HAVE SOME SOURCE CODE?) MANCEY, RICHARD (3D BALLS) GALE, STOO AND VIN, WILLIAM (WIRLY) COCHRANE, STEPHEN (GREAT BOOK ON THE WAY) HILL,"
  13.    SC$=SC$+" AND FINALLY THE REST OF THE BUNCH AT DATABASE. IF YOU ARE WATCHING THIS IN A SHOP OR AT A FRIENDS HOUSE THEN GO OUT AND BUY AMOS"
  14.    SC$=SC$+"..... IT IS AMAZING!                                   "
  15.    Unpack 8 To 2
  16.    Screen Hide 2
  17.    Erase 8
  18.    Unpack 7 To 6
  19.    Screen Hide 6
  20.    Erase 7
  21.    Autoback 0
  22.    Palette $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  23.    WSET[200-Timer]
  24.    Screen Show 6
  25.    Fade 2,$0,$13,$225,$C,$447,$558,$33C,$669,$55D,$77A,$77D,$88B,$99D,$BBC,$CCE,$EEE
  26.    Wait 20
  27.    Fade 3,$0,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  28.    Wait 20
  29.    Fade 3,$0,$13,$225,$C,$447,$558,$33C,$669,$55D,$77A,$77D,$88B,$99D,$BBC,$CCE,$EEE
  30.    Wait 30
  31.    Screen Open 1,368,25,8,Lowres
  32.    Curs Off : Flash Off : Cls 0 : Get Palette 2 : Hide On 
  33.    Double Buffer 
  34.    Autoback 0
  35.    Screen Display 1,130,200,320,
  36.    Screen Clone 7
  37.    Screen Display 7,130,50,320,
  38.    SCRL$="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789(!):-., "
  39.    Restore SCR0LLY_DATA
  40.    For F=1 To 44
  41.       Read TEMP$,X(F),Y(F),X2(F),Y2(F),SIZE(F)
  42.    Next F
  43.    ' find letter
  44.    SP=5
  45.    TEMP=Varptr(SC$)
  46.    TEMP2=Len(SC$)
  47.    Auto View Off 
  48.    Set Rainbow 1,0,200,"","",""
  49.    Rainbow 1,0,44,200
  50.    PLACE=2 : PLACE2=183
  51.    Restore TEMP
  52.    For LOP=1 To 15
  53.       Read C
  54.       Rain(1,PLACE)=C
  55.       Rain(1,PLACE+1)=C
  56.       Rain(1,PLACE2)=C
  57.       Rain(1,PLACE2+1)=C
  58.       Add PLACE,2
  59.       Add PLACE2,-2
  60.       Wait Vbl : View 
  61.    Next LOP
  62.    Auto View On 
  63.    TEMP:
  64.    Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  65.    Wait Vbl : View 
  66.    Screen 6 : Wait Vbl 
  67.    For LOP=0 To TEMP2-1
  68.       If LOP=50 Then Fade 3,,,,,,,,,,,,,,,,,$0,$0,$A0,$2B2,$4C4,$6C6,$9D9,$CEC,$FFF,$FFF,$CEC,$9D9,$6C6,$4C4,$2B2,$A0
  69.       If LOP=60 Then Shift Up 1,16,31,1
  70.       CNUM=Instr(SCRL$,Chr$(Peek(TEMP+LOP)))
  71.       Screen Copy 2,X(CNUM),Y(CNUM),X2(CNUM),Y2(CNUM)+1 To 1,320,0
  72.       For LOP1=1 To SIZE(CNUM) Step SP
  73.          Screen Swap 
  74.          Wait Vbl 
  75.          Screen Copy Physic(1),0,0,368,40 To Logic(1),-SP,0
  76.       Next LOP1
  77.    Next LOP
  78.    PLACE=2 : PLACE2=182
  79.    For LOP=1 To 15
  80.       Rain(1,PLACE)=$0
  81.       Rain(1,PLACE+1)=$0
  82.       Rain(1,PLACE2)=$0
  83.       Rain(1,PLACE2+1)=$0
  84.       Add PLACE,2
  85.       Add PLACE2,-2
  86.       Wait Vbl : View 
  87.    Next LOP
  88.    Wait 10
  89.    Shift Off 
  90.    Wait Vbl 
  91.    Fade 3,,,,,,,,,,,,,,,,,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  92.    Wait 50
  93.    Rainbow Del 1
  94.    Y=77 : X=320
  95.    For LOP=120 To 1 Step -2
  96.       Add Y,1
  97.       Screen Display 6,,Y,,LOP
  98.       Wait Vbl 
  99.    Next LOP
  100.    '   Screen Close 6 
  101.    '  Screen Close 2
  102.    ' Screen Close 1 
  103.    'Screen Close 7
  104.    CL0SE_ALL
  105.    SCR0LLY_DATA:
  106.    Data "A",1,1,31,25,32
  107.    Data "B",34,1,64,25,32
  108.    Data "C",67,1,97,25,32
  109.    Data "D",100,1,130,25,32
  110.    Data "E",133,1,163,25,32
  111.    Data "F",166,1,196,25,32
  112.    Data "G",199,1,229,25,32
  113.    Data "H",232,1,262,25,32
  114.    Data "I",265,1,276,25,12
  115.    Data "J",1,27,31,51,32
  116.    Data "K",34,27,64,51,32
  117.    Data "L",67,27,97,51,32
  118.    Data "M",100,27,130,51,32
  119.    Data "N",133,27,163,51,32
  120.    Data "O",166,27,196,51,32
  121.    Data "P",199,27,229,51,32
  122.    Data "Q",232,27,262,51,32
  123.    Data "R",265,27,295,51,32
  124.    Data "S",1,53,31,77,32
  125.    Data "T",34,53,64,77,32
  126.    Data "U",67,53,97,77,32
  127.    Data "V",100,53,130,77,32
  128.    Data "W",133,53,163,77,32
  129.    Data "X",166,53,196,77,32
  130.    Data "Y",199,53,229,77,32
  131.    Data "Z",232,53,262,77,32
  132.    Data "0",1,79,29,103,32
  133.    Data "1",32,79,46,103,32
  134.    Data "2",49,79,77,103,32
  135.    Data "3",80,79,108,103,32
  136.    Data "4",111,79,139,103,32
  137.    Data "5",142,79,171,103,32
  138.    Data "6",174,79,202,103,32
  139.    Data "7",205,79,233,103,32
  140.    Data "8",236,79,264,103,32
  141.    Data "9",267,79,295,103,32
  142.    Data "(",1,105,16,129,14
  143.    Data "!",19,105,29,129,12
  144.    Data ")",32,105,47,129,14
  145.    Data ":",50,105,60,129,12
  146.    Data "-",63,105,93,129,32
  147.    Data ".",96,105,106,129,12
  148.    Data ",",109,105,119,129,12
  149.    Data " ",1,170,20,199,19
  150. End Proc
  151. Procedure WSET[T]
  152.    Timer=0
  153.    Clear Key 
  154.    Repeat 
  155.       TEMP1=Asc(Inkey$)
  156.    Until Mouse Key<>0 or TEMP1<>0 or Timer=>T
  157. End Proc
  158. Procedure CL0SE_ALL
  159.    While Screen<>-1
  160.       Screen Close Screen
  161.    Wend 
  162. End Proc