home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / TPS_MAG / TPS_MAG.MSA / DOCS / SCREENEF.TXT < prev    next >
Text File  |  2010-04-21  |  8KB  |  214 lines

  1.                         SCREEN EFFECTS
  2.  
  3. This article is from Atari ST User iss.2 -90.
  4. It is written to this mag by Sorcerer of The Digital Dictators!
  5. We´ll start by examinig the various methods of displaying a title
  6. screen.
  7.   Alternatively draw your own title screen with an art package,
  8. compact it and store it in memory bank five.Bank six should also 
  9. contain a compacted screen of text,and you can easily design
  10. your own,with a routine similar to Program I.Here it is:
  11.  
  12. 10 REM Program I
  13. 20 REM Create text screen
  14. 30 MODE 0:KEY OFF:HIDE
  15. 40 WINDOPEN 1,0,0,40,12,0,3:CURS OFF:PEN 14
  16. 50 FOR a=0 TO 11:LOCATE 0,a
  17. 60 READ mess$:CENTRE mess$
  18. 70 NEXT a:WAIT 100
  19. 80 SAVE "MESSAGE.PI1",BACK
  20. 90 GOTO 90
  21. 1000 DATA "Build your title screens from sprites","used within the game."
  22. 1010 DATA "Try different ways of displaying the","title screen for
  23.           impressive effects."
  24. 1020 DATA "Use scrolling text and flashing colours","for displaying
  25.           instructions."
  26. 1030 DATA "Don´t forget to buy Atari ST User for","STOS programming
  27.           hints and tips."
  28. 1040 DATA "Or even better,get yourself each TPS","magazine for BOTH
  29.           STOS tips and GFA or ASM tips!"
  30. 1050 DATA "And please get our compact menus too!","They are really 
  31.           great!!!"
  32.  
  33. The saved text picture should be compressed using COMPACT.ACB,but 
  34. first you should add some interesting features to the letters with
  35. an art package such as Degas Elite.When designing a title screen
  36. it´s best first to write a routine which displays all the game´s 
  37. sprites and saves the whole screen as a picture file.This can
  38. then be edited and changed using an art package to give a
  39. professional,high quality appearance.
  40.   The different ways of displaying title screens we´ll be covering
  41. are just a few of the many effects possible.I´ll leave it up to
  42. you to discover others and include your own animation sequences,
  43. although it´s worth bearing in mind that subtle effects can be
  44. achieved by simple palette switching with the SHIFT command.
  45.   Enough of the chat,let´s get down to business.The next two 
  46. programs show simple ways of adding spice to the commands APPEAR 
  47. and FADE:
  48.  
  49. 20000 REM Title screen #1
  50. 20010 MODE 0:KEY OFF
  51. 20020 CURS OFF:HIDE
  52. 20030 RESERVE AS SCREEN 10:RESERVE AS SCREEN 11
  53. 20040 UNPACK 5,10:UNPACK 6,11
  54. 20050 SCREEN COPY 11 TO PHYSIC:WAIT 50
  55. 20060 FADE 5,$777,$777,$777,$777,$777,$777,$777,$777,$777,$777,$777,
  56.       $777,$777,$777,$777,$777:WAIT 35
  57. 20070 CLW:s$=SCREEN$(10,0,0 TO 320,200):SCREEN$(PHYSIC,0,0)=s$
  58. 20080 WAIT 50
  59. 20090 FADE 5 TO 10:WAIT 35
  60. 20100 GOTO 20100
  61.  
  62. 20000 REM Title screen #2
  63. 20010 MODE 0:KEY OFF
  64. 20020 CURS OFF:HIDE
  65. 20030 RESERVE AS SCREEN 10:RESERVE AS SCREEN 11
  66. 20040 UNPACK 5,10:UNPACK 6,11
  67. 20050 SCREEN COPY 11 TO PHYSIC
  68. 20060 APPEAR 10,77
  69. 20070 APPEAR 10,20
  70. 20080 GOTO 20080
  71.  
  72. The first program displays the message screen,fades all the colours
  73. to white,clears the screen,draws the title and fades from white 
  74. to the correct colours.Most STOS programmers seem to fade the 
  75. colours to black or white only,but there´s no reason why others
  76. such as blue,green,yellow and red cannot be used.
  77.   The second program snippet implements a little used feature of
  78. the APPEAR command,the syntax of which is:
  79.  
  80. APPEAR screen,fade type
  81.  
  82. If the fade type is greater than 72,the final picture is left as
  83. a mixture of the original screen displayand the one you´re 
  84. attempting to fade in.This allows us to use two different types
  85. of fade,one immediately after the other,giving a very pleasing 
  86. effect.Try altering the fade values in lines 20060 and 20070 and
  87. note those which give an interesting result.
  88.   Notice that in the above two programs lines 20010 to 20040 are 
  89. identical.This is true for every program we´ll be using in this
  90. article,so to save space I´ll omit them from the listings,but 
  91. don´t forget to type them in yourself.
  92.  
  93. SCROLLED SCREENS
  94.  
  95. One of the most versatile commands in STOS is SCREEN COPY,which,
  96. as its name suggests,copies a defined area of one screen to a 
  97. given place on another.The syntax of this command is:
  98.  
  99. SCREEN COPY s1,x1,y1,x2,y2 TO s2,x3,y3
  100.  
  101. s1    = Source screen
  102. s2    = Destination screen 
  103. x1,y1 = Top left corner of area
  104. x2,y2 = Bottom right corner of area
  105. x3,y3 = Top left corner to place area
  106.  
  107. This opens up the possibility of displaying a title picture one 
  108. section at a time and scrolling the image over the current display.
  109. Run the following program:
  110.  
  111. 20000 REM Title screen #3
  112. 20050 FOR a=1 TO 200
  113. 20060 SCREEN COPY 10,0,0,320,a TO PHYSIC,0,200-a
  114. 20070 NEXT a
  115. 20080 GOTO 20080
  116.  
  117. The scrolling effect may look rather complex,but it´s all controlled
  118. with lines 20050 to 20070.Each time round the FOR/NEXT loop,an 
  119. increasingly larger section of the picture stored in bank 10 is
  120. copied to the physical screen.This gives the appearance that the
  121. image is being scrolled up from the bottom of the screen.To see
  122. it slowly covering an existing picture,add this line:
  123.  
  124. 20045 SCREEN COPY 11 TO PHYSIC:WAIT 100
  125.  
  126. Instead of overwriting the original picture we could scroll it off 
  127. the top of the screen by adding line 20055 and changing line 20060:
  128.  
  129. 20000 REM Title screen #3b
  130. 20055 SCREEN COPY PHYSIC,0,1,320,199 TO PHYSIC,0,0
  131. 20060 SCREEN COPY 10,0,a-1,320,a TO PHYSIC,0,198
  132.  
  133. It´s also possible to scroll the picture down the screen rather
  134. than upwards:
  135.  
  136. 20000 REM Title screen #4
  137. 20050 SCREEN COPY 11 TO PHYSIC
  138. 20060 WAIT 100:FOR a=1 TO 200
  139. 20070 SCREEN COPY 10,0,200-a,320,200 TO PHYSIC,0,0
  140. 20080 NEXT a
  141. 20090 GOTO 20090 
  142.  
  143. So far we´ve scrolled the whole screen either up or down.However,
  144. it´s possible to scroll the top half down and the bottom half up 
  145. at the same time:
  146.  
  147. 20000 REM Title screen #5
  148. 20050 SCREEN COPY 11 TO PHYSIC:WAIT 100
  149. 20060 FOR a=1 TO 100
  150. 20070 SCREEN COPY 10,0,100-A,320,100 TO PHYSIC,0,0
  151. 20080 SCREEN COPY 10,0,100,320,100+a TO PHYSIC,0,200-a
  152. 20090 NEXT a
  153. 20100 GOTO 20100
  154.  
  155. SCROLLING TEXT
  156.  
  157. You may have noticed that there is a blank area near the bottom of 
  158. the screen and a screenful of text has been unused.These last two
  159. routines will scroll the text within this blank area,first horizontally
  160. and then vertically.
  161.   To save time I´ll simply copy the title picture on to the screen
  162. instead of using some of the fancier techniques we have covered:
  163.  
  164. 20000 REM Title screen #6
  165. 20050 SCREEN COPY 10 TO PHYSIC:SCREEN COPY PHYSIC TO BACK
  166. 20060 FLASH 14,"(777,5)(666,5)(555,5)(444,5)(333,5)(222,5)(111,5)
  167.       (222,5)(333,5)(444,5)(555,5)(666,5)(777,5)"
  168. 20070 FOR a=0 TO 11
  169. 20080 FOR b=-320 TO 320 
  170. 20090 SCREEN COPY 11,b,a*16,b+320,(a+1)*16 TO PHYSIC,0,164
  171. 20100 WAIT VBL
  172. 20110 NEXT b:NEXT a
  173. 20120 GOTO 20120
  174.  
  175. The scrolling text effect is produced with lines 20070 to 20110.
  176. Each time around the loop a block of 320 pixels wide is copied
  177. from bank 11 to the physical screen.The value of a indicates which
  178. line of text to display and b indicates where the 320 pixel block 
  179. starts.
  180.   Imagine we have two other blank screens by the left and right 
  181. of bank 11.The SCREEN COPY command will use them to give the
  182. appearance of text moving on to the screen from the right side
  183. and disappearing off the left.
  184.   You may be wondering how this works when the value of b is not 
  185. a multiple of 16.The manual states it will be rounded down to the
  186. next lowest multiple,but this is not the case.Providing the width
  187. of the area to be copied is multiple of 16 the start and end values,
  188. (x1 and x2),can be anything at all.
  189.   Sadly this typed text scrolling is not only slow,but can be 
  190. tedious,especially when waiting for the next line to appear.An 
  191. interesting way around this is to scroll the text vertically within
  192. the blank area of the screen,as shown in our final routine for
  193. this article:
  194.  
  195. 20000 Title screen #7
  196. 20050 SCREEN COPY 10 TO PHYSIC:SCREEN COPY PHYSIC TO BACK
  197. 20060 FLASH 14,"(777,5)(666,5)(555,5)(444,5)(333,5)(222,5)(111,5)
  198.       (222,5)(333,5)(444,5)(555,5)(666,5)(777,5)"
  199. 20070 FOR a=0 TO 192
  200. 20080 SCREEN COPY 11,0,a-16,320,a TO PHYSIC,0,164
  201. 20090 IF (a MOD 16)=0 THEN WAIT 100
  202. 20100 WAIT VBL
  203. 20110 NEXT a
  204. 20120 GOTO 20120
  205.  
  206. This works in a very similar way to the last program,except it is 
  207. the vertical values,(y1 and y2),which are altered.Since the maximum
  208. height of each character is 16 pixels,line 20090 waits until the
  209. result of a divided by 16 is zero and then waits for two seconds.
  210.  
  211. THE END!!
  212.  
  213.  
  214.