_ _ _ _ l) /\ l_ -l- /- l_ l) l) -l- -l- l_ l_ l)/--\ i_/ _l_ \_ i_/ l l\ _l_ l l_ i_/ By: Mattinc To use the programs, You can run 1 sprite at a time or run prgmANIME to see them animated and get some quick tips. Welcome to basic sprites. The program demonstrates some sprites I made and gives a few pointers on how to get started but nothing really in depth. That's where this comes in. This Read ME is basically all you need but some people learn better by seeing (that would include me). To start off, I'll explain some of the pros and cons of Basic sprites. "Wait!" You say. "I thought sprites could only be used by ASM!" Well, your right. Real sprites can only be used in ASM. However, I have found a way to duplicate that ability. Yes, my way is constrained(weakened) by the limitations of Basic, but it works none the less. Pros: Basic Sprites can be any size! They can be as big as 1 pixel to as big as the screen can hold! ASM programmers can only use 8 by 8 or 16 by 16. If they want anything bigger they have to put two together! Cons: Basic Sprites can only be drawn so fast. So there is a period where only bits of the sprite appear(don't worry, it's only about a milli-second) Plus the sprites don't have the clear scrolling we know and love from ASM. Basic sprites are also very large. I give each their on program and call them as subs. If you have lots of sprites it can take up RAM (each of my sprites[around 8 by 8 size] take up about 300 bytes a piece!) How to make sprites: I usually start out by just drawing what I want on the screen. Then I code it into a program. Here's our example: 0 0 0 0 0 *** 0 edge of 0 *** 0 edge of screen->0 * 0<-screen 0 ***** 0 0 * 0 0 * * 0 Yeah! A person! So what? It isn't a sprite yet. 1 ClrDraw and it's history. Saving it as a picture really want make it a sprite either. So what do we do? We start a new program and title prgmMYSPRITE Then stat your program(!!!DON'T make the first line CLRDEDRAW!!!) For your first line. Goto Draw over to POINTS and down to Pxl-On. Before we begin let me define Pixel ON. Yes it turns on a Pixel but It has a different scale then point on does! 1,1 Will but you in the exact upper right-hand corner and something like 55,70 will but you in the bottom Left-hand. :Pxl-On(5,5 ;I use 5,5 ass my default start because it usually gives me more room :Pxl-On(5,6 :Pxl-On(5,7 That will give you the first line of his head. Please note that the first number is all the same, 5, this means that all of the other numbers are on the same line! Remember that! It is really important! :Pxl-On(6,5 :Pxl-On(6,6 :Pxl-On(6,7 That finishes the head :Pxl-On(7,6 Neck :Pxl-On(8,4 :Pxl-On(8,5 :Pxl-On(8,6 :Pxl-On(8,7 :Pxl-On(8,8 Arms :Pxl-On(9,6 :Pxl-On(10,5 :Pxl-On(10,7 TaDaa! A sprite! Now run it! He looks a little strange I know but there he is! Now let me explain why we used Pxl-On and not Point-on. SCALE. That sums everything up. When you use point on it has to follow the scale of the screen. Usually this scale is off by just enough to screw up your sprite. When you get to moving or animating sprites, you'll think me. "Wait!" You Shout. "How can I move it? It isn't where I want it." Well to move a sprite down. Look at your first number: :Pxl-On(Y,X) ^ First Number Just add a number to it! But remeber! If you add 10 to one "y" then you half to add 10 to all of them! The same goes with "x" unless you want your sprite cut in half. To animate them, Just draw another sprite and run them insequence as subs. To be able to move a sprite in a game, just use variables! Rember! Variable are universal! So you could store the variable in your "home program". Then just have your sprite use them! As always Look for more from Mattinc PS. If you have any other questions, E-mail me! Mattinc m.jenkins@webkorner.com