<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Animating Player</title>
		<link>http://www.allegro.cc/forums/view/560008</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 17 Jan 2006 04:04:49 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m looking for some tips on animating the player. There&#39;s 16 different frames, and 3 in the running animations (3 seperate for left and right, well, more like 2 since the left/right standing frame is used in them).</p><p>Anway, I&#39;ve got a really long function that checks pretty much every key combination to get the frame to use (X is my jump key). I&#39;m sure there&#39;s gotta be a better way though...right?</p><p>Also, here&#39;s my current hero.bmp so you can see what each frame is...it&#39;s 0-7 on top and then 8-15 on the bottom. <img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/a/3/a3c1ae851d71dacbca1706d61dd5da4b.jpg" alt="hero.jpg" width="128" height="32" />
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">int</span> getHeroFrame<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>   <span class="c">// check to make sure in the air before doing aerial frames</span></td></tr><tr><td class="number">4</td><td>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> hero.direction <span class="k3">&lt;</span> <span class="n">8</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w-6, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span><span class="n">6</span>, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w<span class="k3">/</span><span class="n">2</span>, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">5</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td>         <span class="k1">return</span> <span class="n">4</span><span class="k2">;</span>                       <span class="c">// right-up, spread legs</span></td></tr><tr><td class="number">7</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">8</td><td>         <span class="k1">return</span> <span class="n">6</span><span class="k2">;</span>                       <span class="c">// right-down (air)</span></td></tr><tr><td class="number">9</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_X<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> hero.ground <span class="k3">&amp;</span><span class="k3">&amp;</span> hero.altitude <span class="k3">&lt;</span> JUMPTIME-10<span class="k2">)</span></td></tr><tr><td class="number">10</td><td>         <span class="k1">return</span> <span class="n">2</span><span class="k2">;</span>                       <span class="c">// right, legs together</span></td></tr><tr><td class="number">11</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">12</td><td>         <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>                       <span class="c">// right, spread legs</span></td></tr><tr><td class="number">13</td><td>   <span class="c">// one more air, just the other facing</span></td></tr><tr><td class="number">14</td><td>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">|</span><span class="k3">|</span> hero.direction <span class="k3">&gt;</span> <span class="n">7</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w-6, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>w<span class="k3">/</span><span class="n">2</span>, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/getpixel" target="_blank"><span class="a">getpixel</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, hero.x<span class="k3">+</span>cameraX<span class="k3">+</span><span class="n">6</span>, hero.y<span class="k3">+</span>cameraY<span class="k3">+</span>hero.frame<span class="k2">[</span>hero.direction<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>h<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.allegro.cc/manual/bitmap_mask_color" target="_blank"><span class="a">bitmap_mask_color</span></a><span class="k2">(</span>buffer<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">15</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">16</td><td>         <span class="k1">return</span> <span class="n">12</span><span class="k2">;</span>                      <span class="c">// left-up, spread legs</span></td></tr><tr><td class="number">17</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">18</td><td>         <span class="k1">return</span> <span class="n">14</span><span class="k2">;</span>                      <span class="c">// left-down (air)</span></td></tr><tr><td class="number">19</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_X<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> hero.ground <span class="k3">&amp;</span><span class="k3">&amp;</span> hero.altitude <span class="k3">&lt;</span> JUMPTIME-10<span class="k2">)</span></td></tr><tr><td class="number">20</td><td>         <span class="k1">return</span> <span class="n">10</span><span class="k2">;</span>                      <span class="c">// left, legs together</span></td></tr><tr><td class="number">21</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">22</td><td>         <span class="k1">return</span> <span class="n">9</span><span class="k2">;</span>                       <span class="c">// left, spread legs</span></td></tr><tr><td class="number">23</td><td>   hero.step<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>    <span class="c">// to cycle running frames</span></td></tr><tr><td class="number">24</td><td>   <span class="k1">if</span> <span class="k2">(</span>hero.step <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">25</span><span class="k2">)</span></td></tr><tr><td class="number">25</td><td>   <span class="k2">{</span></td></tr><tr><td class="number">26</td><td>      <span class="k1">if</span> <span class="k2">(</span>hero.step <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">50</span><span class="k2">)</span></td></tr><tr><td class="number">27</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">28</td><td>         <span class="k1">if</span> <span class="k2">(</span>hero.step <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">75</span><span class="k2">)</span></td></tr><tr><td class="number">29</td><td>            hero.step <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>         <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">31</td><td>            <span class="k1">return</span> <span class="n">11</span><span class="k2">;</span>                       <span class="c">// right-up</span></td></tr><tr><td class="number">32</td><td>         <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">33</td><td>            <span class="k1">return</span> <span class="n">3</span><span class="k2">;</span>                      <span class="c">// left-up</span></td></tr><tr><td class="number">34</td><td>         <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">35</td><td>            <span class="k1">return</span> <span class="n">8</span><span class="k2">;</span>                       <span class="c">// right</span></td></tr><tr><td class="number">36</td><td>         <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">37</td><td>            <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>                       <span class="c">// left</span></td></tr><tr><td class="number">38</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">39</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">40</td><td>         <span class="k1">return</span> <span class="n">12</span><span class="k2">;</span>                            <span class="c">// right-up, legs spread</span></td></tr><tr><td class="number">41</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">42</td><td>         <span class="k1">return</span> <span class="n">4</span><span class="k2">;</span>                           <span class="c">// left-up, legs spread</span></td></tr><tr><td class="number">43</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">44</td><td>         <span class="k1">return</span> <span class="n">9</span><span class="k2">;</span>                            <span class="c">// right, legs spread</span></td></tr><tr><td class="number">45</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">46</td><td>         <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>                            <span class="c">// left, legs spread</span></td></tr><tr><td class="number">47</td><td>   <span class="k2">}</span></td></tr><tr><td class="number">48</td><td>   <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">49</td><td>      <span class="k1">return</span> <span class="n">13</span><span class="k2">;</span>                               <span class="c">// right-up, legs together</span></td></tr><tr><td class="number">50</td><td>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">51</td><td>      <span class="k1">return</span> <span class="n">5</span><span class="k2">;</span>                              <span class="c">// left-up, legs together</span></td></tr><tr><td class="number">52</td><td>   <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">53</td><td>      <span class="k1">return</span> <span class="n">10</span><span class="k2">;</span>                               <span class="c">// right, legs together</span></td></tr><tr><td class="number">54</td><td>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">55</td><td>      <span class="k1">return</span> <span class="n">2</span><span class="k2">;</span>                              <span class="c">// left, legs together</span></td></tr><tr><td class="number">56</td><td>   <span class="k1">if</span> <span class="k2">(</span>hero.direction <span class="k3">&lt;</span> <span class="n">7</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>hero.direction <span class="k3">&lt;</span> <span class="n">8</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">57</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">58</td><td>         <span class="k1">return</span> <span class="n">3</span><span class="k2">;</span>                           <span class="c">// left-up</span></td></tr><tr><td class="number">59</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">60</td><td>         <span class="k1">return</span> <span class="n">7</span><span class="k2">;</span>                           <span class="c">// lefts-backwards</span></td></tr><tr><td class="number">61</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">62</td><td>         <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>                            <span class="c">// left</span></td></tr><tr><td class="number">63</td><td>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hero.direction <span class="k3">!</span><span class="k3">=</span> <span class="n">15</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> hero.direction <span class="k3">!</span><span class="k3">=</span> <span class="n">7</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">64</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">65</td><td>         <span class="k1">return</span> <span class="n">11</span><span class="k2">;</span>                            <span class="c">// right-up</span></td></tr><tr><td class="number">66</td><td>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">67</td><td>         <span class="k1">return</span> <span class="n">15</span><span class="k2">;</span>                            <span class="c">// right-backwards</span></td></tr><tr><td class="number">68</td><td>      <span class="k1">else</span></td></tr><tr><td class="number">69</td><td>         <span class="k1">return</span> <span class="n">8</span><span class="k2">;</span>                            <span class="c">// right</span></td></tr><tr><td class="number">70</td><td>   <span class="k1">return</span> hero.direction<span class="k2">;</span>                     <span class="c">// keep current direction</span></td></tr><tr><td class="number">71</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jeff Bernard)</author>
		<pubDate>Tue, 17 Jan 2006 02:45:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First thing I noticed is you have 3 if(key[KEY_RIGHT]) situations, each returning 8, 9, or 10.  That means that function is return 9 give or take 1.  </p><p>What I do is have the key determine the base frame in the set of frames.  Another, completely separate function is checking the time they&#39;ve been going in whatever direction and if enough time has gone by, increase or decrease an offset that picks out the right part of the animation in that direction.</p><p>Basically, my logic is have a input function which determines which direction they&#39;re going and an animate function which gets the right frame within that direction.  Make any sense?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Tue, 17 Jan 2006 03:21:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ah, thank you very much, Steven Silvey. I now only have it check the key pressed once and then I pass a value to a function which then determines the correct frame of animations. It&#39;s way better now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jeff Bernard)</author>
		<pubDate>Tue, 17 Jan 2006 04:04:49 +0000</pubDate>
	</item>
</rss>
