home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d170 / ptranim.lha / PtrAnim / ReadMeSecond < prev    next >
Text File  |  1988-11-22  |  10KB  |  197 lines

  1. How To Make an Animated Pointer
  2. (ReadMeSecond)
  3.  
  4. This file describes how to make an animation for the pointer animator.  If
  5. you haven't read it already, please read "ReadMeFirst" for information on
  6. how to call the pointer animator with a predefined animation.  Also, if you
  7. haven't run the pointer animator, please do so before reading the rest of
  8. this file.  I feel it will make some of the descriptions easier to
  9. understand.
  10.  
  11.  
  12. What's an Animation? (a short history)
  13.  
  14. If you've never seen a television or watched a Disney movie, this
  15. description isn't going to mean much to you.  You have some outside research
  16. to do.  I expect you have seen Tweety outsmart Sylvester, Jerry do horrible
  17. things to Tom and the coyote fall off cliffs hundreds of times and therefore
  18. understand what animation is.  While you are not going to produce anything
  19. that even remotely resembles a really good animation using the pointer
  20. animator, the concepts are the same and with some imagination, you can make
  21. animations which will hold people's interest, amuse them or get your message
  22. across.
  23.  
  24. An animation is a series of still frames.  Each of the frames represents a
  25. point in time.  By showing the frames rapidly, in sequence, an illusion of
  26. motion is created.  The shorter the time between frames, the more smooth
  27. the animation appears and the more frames needed to represent the same total
  28. time.
  29.  
  30. The maximum speed of a pointer animation varies depending on which version
  31. of Amiga you have.  If you live in North America, chances are pretty good
  32. your maximum rate is 60 frames per second.  If you live somewhere else, your
  33. maximum rate is probably 50 frames per second.
  34.  
  35.  
  36. What You Need to Make an Animation
  37.  
  38. A good paint program, a good imagination, the pointer animator programs and
  39. of course an Amiga are all you really need to produce pointer animations.
  40. Of all the things required, the only one I plan to comment on is the paint
  41. program.  It should be able to select 2 or 4 bit planes (this is the same as
  42. 4 or 16 maximum colors).  It must also be able to save rectangular brushes
  43. from 1 to 32 pixels wide in an IFF ILBM format file.  Luckily, most paint
  44. programs will let you do both of these things.  If you have one that
  45. doesn't, write to the manufacturer and let them know you wish it did.
  46. Another useful but not absolutely necessary function is the ability to
  47. display the X,Y position of the cursor.  Of course, beyond the basic
  48. functions of the paint program, you should feel comfortable with it.  The
  49. paint program I use is Deluxe Paint Version 2.0 by Electronic Arts.
  50.  
  51.  
  52. Planning Your Animation
  53.  
  54. Before you start actually working on your animation, I suggest you sit down
  55. and think about what you want to produce.  The animated pointer has several
  56. limitations when compared to other forms of animation.
  57.  
  58. First is the size of the pointer.  Your animation cannot be wider than 32
  59. lo-res pixels.  Because of the way the Amiga's hardware handles sprites, the
  60. aspect ratio of your pointer will be the same whatever the resolution of the
  61. screen is.
  62.  
  63. Secondly you need to decide how many colors you want to use.  You have two
  64. choices; 3 and 15.  The normal Workbench pointer uses three colors.  If you
  65. can produce your animation using only three colors, your pointer will work
  66. properly with almost every program.  Again because of the way the Amiga's
  67. hardware works, by using fifteen colors, you are using up the colors for all
  68. of the hardware sprites.  This shouldn't normally matter because not many
  69. programs use the hardware sprites.  Also, any program that opens a screen
  70. after the pointer animator has started, will get the proper lower three
  71. colors, but the upper twelve colors will be set to the system's default
  72. colors (by designing your pointer with the default colors you can get rid of
  73. this problem.)
  74.  
  75. OK, now you know most of the limitations of the animation system.  It's time
  76. to discuss the actual animation.  The pointer animations are loops.  That
  77. means that as soon as the last frame has been displayed, the first frame is
  78. displayed again.  When you are working out an animation concept, you should
  79. take that into account.  For example, it would be hard to make a "clean"
  80. animation of a breaking vase.  After the vase had broken and the pieces were
  81. laying at the bottom of the frame, how would you explain the vase becoming
  82. whole again when the loop restarted?
  83.  
  84. A much better animation would be a bouncing ball.  The ball could start at
  85. the top, fall to the bottom and then bounce back to the top where the loop
  86. could repeat.  This brings up another point.  Although it's a matter of
  87. style, I personally feel that it is best not to draw attention to the fact
  88. that the pointer size is limited.  In the ball example, I feel it would be
  89. preferable to have some visible object at the bottom of the pointer for the
  90. ball to bounce off of.  Of course the object at the bottom would itself
  91. point out the bottom of the pointer, but it wouldn't look as though the ball
  92. was bouncing off the image boundary.
  93.  
  94. Another idea to keep in mind is that a pointer should be useful for pointing.
  95. To be easy to use, a pointer should contain at least one point that doesn't
  96. move.  This point can be anywhere in the pointer although the top left
  97. corner is customary.  It is also good if the pointer has a couple of
  98. contrasting colors close together so that the pointer will stand out on any
  99. possible background.
  100.  
  101. Once you have your animation concept, you should storyboard it.  That is,
  102. you should draw some rough sketches of what you hope to accomplish and
  103. annotate them with the approximate amount of time between each sketch.  If
  104. your animation is extremely simple (like most of mine) the storyboard itself
  105. can be made into your final animation.  But if you are planning a more
  106. complicated animation (and I hope you are) you will probably have several
  107. frames in the final animation between each sketch of your storyboard.
  108.  
  109. After you have your idea storyboarded you can probably estimate the tallest
  110. frame you will need.  If you can fit it in it is best to keep your pointer
  111. 16 pixels high since this is the one variable that can be changed to really
  112. screw up the appearance of an animation (and the default height is 16.)
  113.  
  114.  
  115. Drawing Your Animation
  116.  
  117. Now, you have all the tools you need and you have a well thought out idea to
  118. make the animation from.  There is a drawing in this archive called
  119. "DesignGrid".  I used this drawing as a guide while I was drawing my first
  120. animations.  Along the left side are some 16 pixel wide columns.  They are
  121. divided by things that look like ladders.  The "rungs" of these ladders are
  122. 16 pixels apart.  On the right side are many boxes.  The inside dimensions of
  123. these boxes are 16x16 pixels.  The reason for 16x16 is that this is the
  124. normal maximum pointer size.
  125.  
  126. To use this guide, first pick the colors you plan to use.  The first color
  127. (color zero) will be transparent in the completed pointer.  Draw any objects
  128. which will remain stationary into one of the boxes.  Then cut that box out
  129. as a brush, and paste it into all of the other boxes to use as a guide.
  130. Then go back and start drawing in the rest of the frames.
  131.  
  132. When you are done with a large number of the frames, arrange them for
  133. saving.  Cut out the first frame, making sure to cut just inside the top and
  134. bottom.  Leave the sides on for a guide in placing the brush.  Put the brush
  135. at the top of the first column on the left side.  Make sure to line up the
  136. bottoms of the box sides with the first rung of the ladders.  Then continue
  137. cutting out each frame in turn and placing it in the column below the last
  138. frame.  When you are done with the first column, go to the top of the next.
  139. The most important thing to remember here is that the frames should all be
  140. the same height.  After all the frames are pasted into columns, cut out an
  141. entire column as a brush, and save it to disk.  Make sure you cut just
  142. inside of the ladders so that the brush will be sixteen pixels wide.  Also
  143. make sure that the height of each brush is an exact multiple of the height
  144. of one frame.  When you have all of the columns saved, you are ready to merge
  145. them into one animation.
  146.  
  147.  
  148. Using merge
  149.  
  150. One of the programs supplied with the pointer animator is called "merge".  It
  151. must be run from the CLI.  It is used to add columns of frames end to end.
  152. It can also be used to add a message to the front of your animation.  The
  153. calling syntax of merge is:
  154.  
  155. merge <out file> [-t<text file>] <in file1> [<in file2>...[in filen]]
  156.  
  157. Where: <out file> is the combination of all the input files.  Don't use the
  158.            same name for <out file> as for one of the <in files>.  This would
  159.            cause hard feelings and quite possibly cause you to lose the
  160.            contents of your file.
  161.        <text file> is a standard ASCII text file (NOT an IFF file)
  162.        <in file> each input file is an IFF ILBM file.  All the files must be
  163.            the same number of colors and the same width.  Only the color map
  164.            from the first file is saved.  Any other "extraneous" information,
  165.            such as color range, is discarded.
  166.  
  167. As an example let's suppose we have just finished an animation of a fish
  168. swimming, to send off to Fred.  We want to produce a file called "Fish" we
  169. have four column files named "col1", "col2", "col3" and "col4".  In addition
  170. we have a text file named "fishtext" which contains the following paragraph.
  171.  
  172. I am dedicating this animation to Fred Fish.  I would like to express
  173. my appreciation for what Mr. Fish has done for the Amiga community.
  174. Thank you Fred.
  175. TRK 4-10-88
  176.  
  177. To put all this together you would type:
  178.  
  179. merge Fish -tfishtext col1 col2 col3 col4
  180.  
  181. Now we have a file named "Fish".  While we are in the CLI, we might as well
  182. make the .info file for our animation.  As luck would have it, we have
  183. another animation named "Flag".  So we will make a copy of its .info file
  184. for our new file.  Type:
  185.  
  186. copy Flag.info Fish.info
  187.  
  188. For information on executing your new animation, refer back to
  189. "ReadMeFirst".
  190.  
  191. If you have any specific questions or comments, please send them along with
  192. your shareware payment to:
  193.  
  194. Tim Kemp
  195. P.O. Box 23101
  196. Columbus, OH 43223
  197.