12.07.2015 Views

williams-et-al-1983-apple-ii-computer-graphics

williams-et-al-1983-apple-ii-computer-graphics

williams-et-al-1983-apple-ii-computer-graphics

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12Byte-Move ShapesObjectivesAfter reading Chapter 12 you should be able to:• Use byte-move to perform a stationary and a vertic<strong>al</strong> animation.• Draw and digitize the seven horizont<strong>al</strong> separations of a byte-movefigure.• Animate a simple byte-move figure across the screen.The standard Apple shape is a fairly usefu l construct, particularly for theBASIC programmer because it l<strong>et</strong>s the user use a number of fast machinelevelroutines via the APPLESOFT shape commands (DRAW, XDRAW,SCALE, and others). Unfo rtunately, those routines are not fast enough fo rarcade type animation, so byte-move <strong>graphics</strong> are often used to gain extraspeed. To be honest, profession<strong>al</strong> byte-move animation is written in machinelanguage because BASIC is too slow to gain much advantage,whereas "look-up tables" are som<strong>et</strong>hing that a machine-level programhandles very well. These examples in BASIC serve to give you the "basic"idea behind byte-move, so if you are so inclined and endowed you canwrite these strategies into your machine-level program.It is important to re<strong>al</strong>ize how byte-move shapes differ from standardshapes. As you saw in Chapter 1 ([), a shape is defi ned by a series ofinstructions (vectors). For example, plot-up, skip-left, skip-left, plot-down,and so on. Each time the shape is plotted, the drawing routines followthose directions and reconstruct the shape. Since shapes can easily run toa hundred instructions or more, the vector m<strong>et</strong>hod can lead to a timedelay as each · vector is reprocessed and reinterpr<strong>et</strong>ed.135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!