Animating sprites
authorRhett <roadriverrail@gmail.com>
Sun, 21 Oct 2018 17:21:57 +0000 (13:21 -0400)
committerRhett <roadriverrail@gmail.com>
Sun, 4 Nov 2018 18:06:11 +0000 (13:06 -0500)
commit475b45d206da33544c63c570465f6811c706eb32
tree9d8232d700b896ba39cd7f179ad75f3bec691f16
parent7429c0e75f9d54c19ac847b754a77ff5104b3e5e
Animating sprites

This demo uses the existing "walk cycle animation" available in the loaded
pattern table to make a sprite animate in place.  To achieve this, we do a few
different things:

* To keep track of what cell/frame to animate and where to put the sprite, we
  bring in some RAM in the "zero page".
* To organize pattern table references into coherent frames of animations, we
  declare an "array" of them called "anim"
* We move the loading of sprite tiles into OAM into a subroutine, making this
  the first case of using a subroutine
* We implement a drawing process in the handler for the non-maskable interrupt
  (NMI).  This not only tells us when it's time to draw but also lets us have
  a sense of how much time has elapsed so we can decide when to change frames
  of animation.

That's a lot to digest, but the good news is that this is rapidly progressing
towards being an actual animation engine!
Makefile
src/.sprite.asm.swp [new file with mode: 0644]
src/sprite.asm