home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 10 / af010.adf / PointerAnimator / pointeranimator.doc < prev    next >
Text File  |  1978-12-27  |  13KB  |  258 lines

  1.                        POINTER ANIMATOR!
  2.                       (C)1988 By Tim Kemp
  3.                         ** SHAREWARE **
  4. How To Use the Pointer Animator
  5.  
  6. Introduction:
  7. Pointer animator animates the Workbench pointer by substituting its own 
  8. custom pointer and then rapidly changing the pointer image to cause the
  9. animation. The image sequences are standard IFF ILBM files; allowing you
  10. to easily edit predefined animations and create your own! In addition to
  11. the normal three color pointer, the pointer animator also supports a 15
  12. color pointer!
  13.  
  14. Our eyes are specially designed to detect motion. On a normal Workbench
  15. screen with a good contrast between the pointer and display colors, you can
  16. easily distinguish the position of the pointer. On a 32 color screen, it
  17. can be difficult to identify the pointer. Even with very similar colors, an
  18. animated pointer is easy to spot.
  19.  
  20. Starting an Animation:
  21.  
  22. To run a pointer animation from the Workbench, all you need to do is double
  23. click on the animation's icon. Running from CLI is only slightly more 
  24. difficult. If the pointer will work with the default values (listed below),
  25. just type: pointeranimator <filename>
  26.  
  27. If the pointer doesn't work well with the default values, you can change
  28. several parameters on the command line (or in the .info file, from the
  29. Workbench.) You can enter as many of these parameters as you need, as flags
  30. on the command line:
  31.  
  32. s - speed. (Range= 1-9, Default is 5, or 12 frames/second)
  33. (1 = 60 frames/second; the fastest speed) To determine the number of 
  34. images/second, divide 60 (50 for European machines) by the speed.
  35.  
  36. h - height.  The height in picture elements, or "pixels" (Range= 1-255)
  37. If you are using a predefined animation, it will already have a specific
  38. height. If you specify the wrong height, the animation will roll like a 
  39. TV with the vertical sync misadjusted. The default height is 16 pixels.
  40.  
  41. x - horizontal offset. Even though the pointer covers an area 16 pixels
  42. wide and many pixels high, there is only one pixel position where the pointer
  43. actually is; the "hot spot" of the pointer. On most standard pointers, the 
  44. hot spot is near the upper left corner. You can put this spot wherever you 
  45. want. The horizontal offset is measured in number of pixels right of the 
  46. left side of the pointer. The default value is 0.
  47.  
  48. y - vertical offset. This value, together with the horizontal position,
  49. determines the position of the hot spot. The vertical offset is measured in
  50. pixels down from the top edge. The default value is 0.
  51.  
  52. EXAMPLE: pointer animator shock -s3 -x1 -y1
  53.  
  54. uses the animation sequence stored in the file "Shock". It causes the
  55. animation speed to be 20 frames per second and the hot spot to be one pixel
  56. down and to the right of the top left corner of the pointer. This command
  57. could easily be inserted into your Startup-Sequence to cause the pointer
  58. animator to be automatically invoked when you turn on your Amiga.
  59.  
  60. You can also set these parameters from the Workbench. First select the file
  61. by clicking once on the animation file's icon. Then select "Info" from the
  62. Workbench menu.  The bottom line of the window that appears should be
  63. labeled "TOOL TYPES". It will probably contain a line that says something
  64. like "SPEED=5". This line corresponds to the 's' flag. By using the up and
  65. down arrow gadgets you can step though all of the parameters. They should
  66. read something like this:
  67.  
  68. SPEED=5                            
  69. HEIGHT=16                          
  70. X OFFSET=0                         
  71. Y OFFSET=0
  72.  
  73. If any of these are missing, you can add them by clicking on the "ADD"
  74. gadget. When you are done, click on "SAVE" to keep the changes you made.
  75. (Warning: There is a well-known bug in 1.2 which sometimes makes it very
  76. frustrating to enter several tool types without getting everything screwed up
  77. when the info window is saved. Check the info window again after saving)
  78.  
  79. Stopping the Animation:
  80.  
  81. If for some reason you need to stop an animated pointer, double click on the
  82. "PointerStopper" icon, or run "PointerStopper" from the CLI. If you are just
  83. switching between animations, it will be done automatically.
  84.  
  85. For More Fun:
  86.  
  87. I strongly suggest you go make some of your own animations. It's very easy
  88. and the results are often better than you would have expected.
  89.  
  90. How To Make an Animated Pointer:
  91.  
  92. What's an Animation? (a short history)
  93.  
  94. If you've never seen a television or watched a Disney movie, this
  95. description isn't going to mean much to you.  You have some outside research
  96. to do. I expect you have seen Tweety outsmart Sylvester, Jerry do horrible
  97. things to Tom and the coyote fall off cliffs hundreds of times and therefore
  98. understand what animation is. While you are not going to produce anything
  99. that even remotely resembles a really good animation using the pointer
  100. animator, the concepts are the same and with some imagination, you can make
  101. animations which will hold people's interest & get your message across.
  102.  
  103. An animation is a series of still frames.  Each of the frames represents a
  104. point in time. By showing the frames rapidly, in sequence, an illusion of
  105. motion is created. The shorter the time between frames, the more smooth
  106. the animation appears and the more frames needed to represent the same total
  107. time.
  108.  
  109. The maximum speed of a pointer animation varies depending on which version
  110. of Amiga you have. If you live in North America, chances are pretty good
  111. your maximum rate is 60 frames per second; otherwise you may have 50.
  112.  
  113. What You Need to Make an Animation:
  114.  
  115. A good paint program, a good imagination, & the pointer animator programs
  116. are all you need to produce pointer animations. The Paint Program should
  117. be able to select 2 or 4 bit planes (4 or 16 maximum colors). It must also
  118. be able to save rectangular brushes from 1 to 32 pixels wide in an IFF ILBM
  119. format file. Another useful function is the ability to display the X,Y 
  120. position of the cursor. I use Deluxe Paint Version 2.0 by Electronic Arts.
  121.  
  122. Planning Your Animation:
  123.  
  124. Before you start actually working on your animation, I suggest you sit down
  125. and think about what you want to produce. The animated pointer has several
  126. limitations when compared to other forms of animation:
  127.  
  128. First is pointer size: Your animation cannot be wider than 32 lo-res pixels.
  129.  
  130. Secondly, you must decide how many colors you want to use. You have two
  131. choices; 3 and 15. The normal Workbench pointer uses three colors. If you
  132. can produce your animation using only three colors, your pointer will work
  133. properly with almost every program. Again because of the way the Amiga's
  134. hardware works, by using fifteen colors, you are using up the colors for all
  135. of the hardware sprites. This shouldn't normally matter because not many
  136. programs use the hardware sprites. Also, any program that opens a screen
  137. after the pointer animator has started, will get the proper lower three
  138. colors, but the upper twelve colors will be set to the system's default
  139. colors (by designing your pointer with the default colors you can get rid of
  140. this problem.)
  141.  
  142. OK, now you know most of the limitations of the animation system. It's time
  143. to discuss the actual animation. The pointer animations are loops. That
  144. means that as soon as the last frame has been displayed, the first frame is
  145. displayed again. When you are working out an animation concept, you should
  146. take that into account. For example, it would be hard to make a "clean"
  147. animation of a breaking vase. After the vase had broken and the pieces were
  148. laying at the bottom of the frame, how would you explain the vase becoming
  149. whole again when the loop restarted?
  150.  
  151. A much better animation would be a bouncing ball. The ball could start at
  152. the top, fall to the bottom and then bounce back to the top where the loop
  153. could repeat. This brings up another point. Although it's a matter of
  154. style, I personally feel that it is best not to draw attention to the fact
  155. that the pointer size is limited. In the ball example, I feel it would be
  156. preferable to have some visible object at the bottom of the pointer for the
  157. ball to bounce off of. Of course the object at the bottom would itself
  158. point out the bottom of the pointer, but it wouldn't look as though the ball
  159. was bouncing off the image boundary.
  160.  
  161. Another idea to keep in mind is that a pointer should be useful for pointing.
  162. To be easy to use, a pointer should contain at least one point that doesn't
  163. move. This point can be anywhere in the pointer although the top left
  164. corner is customary. It is also good if the pointer has a couple of
  165. contrasting colors close together so that the pointer will stand out on any
  166. possible background.
  167.  
  168. Once you have your animation concept, you should storyboard it. That is,
  169. you should draw some rough sketches of what you hope to accomplish and
  170. annotate them with the approximate amount of time between each sketch. If
  171. your animation is extremely simple (like most of mine) the storyboard itself
  172. can be made into your final animation. But if you are planning a more
  173. complicated animation (and I hope you are) you will probably have several
  174. frames in the final animation between each sketch of your storyboard.
  175.  
  176. After you have your idea storyboarded you can probably estimate the tallest
  177. frame you will need. If you can fit it in it is best to keep your pointer
  178. 16 pixels high since this is the one variable that can be changed to really
  179. screw up the appearance of an animation (and the default height is 16.)
  180.  
  181. Drawing Your Animation
  182.  
  183. Now, you have all the tools you need and you have a well thought out idea to
  184. make the animation from. There is a drawing in this archive called
  185. "DesignGrid". I used this drawing as a guide while I was drawing my first
  186. animations. Along the left side are some 16 pixel wide columns. They are
  187. divided by things that look like ladders. The "rungs" of these ladders are
  188. 16 pixels apart. On the right side are many boxes. The inside dimensions of
  189. these boxes are 16x16 pixels. The reason for 16x16 is that this is the
  190. normal maximum pointer size.
  191.  
  192. To use this guide, first pick the colors you plan to use. The first color
  193. (color zero) will be transparent in the completed pointer. Draw any objects
  194. which will remain stationary into one of the boxes. Then cut that box out
  195. as a brush, and paste it into all of the other boxes to use as a guide.
  196. Then go back and start drawing in the rest of the frames.
  197.  
  198. When you are done with a large number of the frames, arrange them for
  199. saving. Cut out the first frame, making sure to cut just inside the top and
  200. bottom. Leave the sides on for a guide in placing the brush. Put the brush
  201. at the top of the first column on the left side. Make sure to line up the
  202. bottoms of the box sides with the first rung of the ladders. Then continue
  203. cutting out each frame in turn and placing it in the column below the last
  204. frame. When you are done with the first column, go to the top of the next.
  205. The most important thing to remember here is that the frames should all be
  206. the same height. After all the frames are pasted into columns, cut out an
  207. entire column as a brush, and save it to disk. Make sure you cut just
  208. inside of the ladders so that the brush will be sixteen pixels wide. Also
  209. make sure that the height of each brush is an exact multiple of the height
  210. of one frame. When you have all of the columns saved, you are ready to merge
  211. them into one animation.
  212.  
  213.  Using merge:
  214.  
  215. One of the programs supplied with the pointer animator is called "merge". It
  216. must be run from the CLI, & is used to add columns of frames end to end.
  217. It can also be used to add a message to the front of your animation.
  218. USAGE:
  219.  
  220. merge <out file> [-t<text file>] <in file1> [<in file2>...[in filen]]
  221.  
  222. Where: <out file> is the combination of all the input files. Don't use the
  223.      same name for <out file> as for one of the <in files>. This would
  224.      cause hard feelings and quite possibly cause you to lose the
  225.      contents of your file.
  226.      <text file> is a standard ASCII text file (NOT an IFF file)
  227.      <in file> each input file is an IFF ILBM file. All the files must be
  228.      the same number of colors and the same width. Only the color map
  229.      from the first file is saved. Any other "extraneous" information,
  230.      such as color range, is discarded.
  231.  
  232. As an example let's suppose we have just finished an animation of a fish
  233. swimming, to send off to Fred. We want to produce a file called "Fish" we
  234. have four column files named "col1", "col2", "col3" and "col4". In addition
  235. we have a text file named "fishtext" which contains the following paragraph.
  236.  
  237. "I am dedicating this animation to Fred Fish. I would like to express
  238. my appreciation for what Mr. Fish has done for the Amiga community.."
  239.  
  240. To put all this together you would type:
  241.  
  242. merge Fish -tfishtext col1 col2 col3 col4
  243.  
  244. Now we have a file named "Fish". While we are in the CLI, we might as well
  245. make the .info file for our animation. As luck would have it, we have
  246. another animation named "Flag". So we will make a copy of its .info file
  247. for our new file. Type:   copy Flag.info Fish.info
  248.  
  249. If You Use Pointer Animator...
  250.  
  251. If you use it please pay for it. If I distributed this commercially I would
  252. charge between $10 and $20. I won't ask for a particular amount, but please
  253. use these values as guidelines. In addition to the money, I would be glad to
  254. hear any comments or suggestions on any of my programs. Please send all
  255. correspondence to:       
  256.  
  257. Tim Kemp, P.O. Box 23101, Columbus, OH 43223
  258.