<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.xna.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>General</title><link>http://forums.xna.com/forums/32.aspx</link><description>Don't know where to post your question? Post it here!</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 0.0)</generator><item><title>Re: Sprite collision &amp; figuring displacement...</title><link>http://forums.xna.com/forums/thread/68549.aspx</link><pubDate>Fri, 13 Jun 2008 17:25:48 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:68549</guid><dc:creator>The ZMan</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/68549.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=68549</wfw:commentRss><description>&lt;p&gt;All that code does is overlay the 2 sprites pixels and see if any of them overlap using bit masks.&lt;/p&gt;
&lt;p&gt;Working out X and Y overlaps is fairly easy - you already have a y,x loop which is walking over the overlapping pixels so as soon as thsoe testas fail you know the y location relative to one of the sprites - adding the corners of the bounding boxes should give your the actual positions.&lt;/p&gt;
&lt;p&gt;Note that there can be MANY pixels overlapping so that instead of failing on the first one you might want to find them all and use that to give you an average collision or a maximal collision.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Sprite collision &amp; figuring displacement...</title><link>http://forums.xna.com/forums/thread/68421.aspx</link><pubDate>Fri, 13 Jun 2008 05:01:08 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:68421</guid><dc:creator>Cdxrd</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/68421.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=32&amp;PostID=68421</wfw:commentRss><description>I&amp;#39;m curious.. I&amp;#39;ve been working on creating just a platformer testbed so that I can start learning cameras and pixel perfect collision. I incorporated the pixel perfect collision sample from Ziggy&amp;#39;s site and am trying to figure out how to do displacement so that if the sprite collides, it will simply move itself out of a collision state in the appropriate direction. Right now the routines first test the bounding boxes and then if those intersect or touch, it does a pixel perfect collision test (which is slow, but if I load the GetData info during a loading screen it would be quicker I think). Now this will flag the collisions perfectly but I can not figure out how to tell &amp;#39;where&amp;#39; the collision occurred and how many pixels to move it in which direction to clear the collision. :(&lt;br /&gt;
&lt;br /&gt;
Right now I have added in gravity, velocity and basic friction / deceleration on the X axis. I&amp;#39;m also trying not to use tiles as I do not want the old flat runs and 45 degree slopes, etc. I want the sprite to follow the terrain. I was looking at the code from a platformers demo on ziggyware that had a function called calculateminimumtranslationdistance that took 2 boundingboxes and returned a vector2, which seemed like the right thing to use.. but thats based off the boundingboxes, not the pixel perfect collision, plus I have never used this boundingbox class and I know it uses a vector3 which I dont know which all values to use.&lt;br /&gt;
&lt;br /&gt;
So I&amp;#39;m stuck! Help please?&lt;br /&gt;
&lt;p&gt;&lt;/p&gt;
So assuming I have a playerVelcity, playerGravity, and playerPosition Vector2&amp;#39;s, how would I change this to determine where the collision occured, top bottom left or right, and then figure out a displacement vector2 that could be added to the playerPosition to resolve the collision? Here&amp;#39;s the relevant code:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="overflow:auto;background-color:white;width:100%;height:500px;font-family:Courier New;font-size:11px;"&gt;
&lt;table style="border-width:0px;margin:2px 0px;width:99%;border-collapse:collapse;" cellpadding="0" cellspacing="0"&gt;
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="font-size:11px;"&gt;&lt;/font&gt;&lt;font style="color:green;"&gt;//&amp;nbsp;this&amp;nbsp;is&amp;nbsp;hacked&amp;nbsp;together&amp;nbsp;so&amp;nbsp;a&amp;nbsp;lot&amp;nbsp;of&amp;nbsp;stuff&amp;nbsp;is&amp;nbsp;hardcoded&amp;nbsp;which&amp;nbsp;will&amp;nbsp;all&amp;nbsp;be&amp;nbsp;cleaned&amp;nbsp;up&amp;nbsp;later..&amp;nbsp;&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Vector2&amp;nbsp;playerPosition,&amp;nbsp;playerVelocity,&amp;nbsp;playerGravity;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:green;"&gt;//&amp;nbsp;this&amp;nbsp;just&amp;nbsp;passes&amp;nbsp;the&amp;nbsp;texture2d&amp;nbsp;&amp;#39;s&amp;nbsp;for&amp;nbsp;now&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:blue;"&gt;if&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;(Intersects(player,&amp;nbsp;platform1))&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;playerColor&amp;nbsp;=&amp;nbsp;Color.Red;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:blue;"&gt;else&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;playerColor&amp;nbsp;=&amp;nbsp;Color.White;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:green;"&gt;//&amp;nbsp;this&amp;nbsp;does&amp;nbsp;the&amp;nbsp;pixel&amp;nbsp;perfect&amp;nbsp;test.&amp;nbsp;It&amp;nbsp;first&amp;nbsp;checks&amp;nbsp;the&amp;nbsp;Collision.Intersects&amp;nbsp;method&amp;nbsp;which&amp;nbsp;takes&amp;nbsp;the&amp;nbsp;bounding&amp;nbsp;boxes&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:green;"&gt;//&amp;nbsp;and&amp;nbsp;determines&amp;nbsp;if&amp;nbsp;they&amp;nbsp;intersect&amp;nbsp;or&amp;nbsp;touch.&amp;nbsp;&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font style="color:blue;"&gt;public&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;bool&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;Intersects(Texture2D&amp;nbsp;a,&amp;nbsp;Texture2D&amp;nbsp;b)&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;playerBoundingBox&amp;nbsp;=&amp;nbsp;&lt;font style="color:blue;"&gt;new&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;Rectangle((&lt;/font&gt;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;)playerPosition.X,&amp;nbsp;(&lt;/font&gt;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;)playerPosition.Y,&amp;nbsp;a.Width,&amp;nbsp;a.Height);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;platformBoundingBox&amp;nbsp;=&amp;nbsp;&lt;font style="color:blue;"&gt;new&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;Rectangle(247,&amp;nbsp;209,&amp;nbsp;259,&amp;nbsp;20);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;if&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;(Collision.Intersects(playerBoundingBox,&amp;nbsp;platformBoundingBox))&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;[&amp;nbsp;bitsA&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;new&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;[a.Width&amp;nbsp;*&amp;nbsp;a.Height];&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a.GetData&amp;lt;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;gt;(bitsA);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;[&amp;nbsp;bitsB&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;new&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;[b.Width&amp;nbsp;*&amp;nbsp;b.Height];&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b.GetData&amp;lt;&lt;font style="color:blue;"&gt;uint&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;gt;(bitsB);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;x1&amp;nbsp;=&amp;nbsp;Math.Max(playerBoundingBox.X,&amp;nbsp;platformBoundingBox.X);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;x2&amp;nbsp;=&amp;nbsp;Math.Min(playerBoundingBox.X&amp;nbsp;+&amp;nbsp;playerBoundingBox.Width,&amp;nbsp;platformBoundingBox.X&amp;nbsp;+&amp;nbsp;platformBoundingBox.Width);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;y1&amp;nbsp;=&amp;nbsp;Math.Max(playerBoundingBox.Y,&amp;nbsp;platformBoundingBox.Y);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;y2&amp;nbsp;=&amp;nbsp;Math.Min(playerBoundingBox.Y&amp;nbsp;+&amp;nbsp;playerBoundingBox.Height,&amp;nbsp;platformBoundingBox.Y&amp;nbsp;+&amp;nbsp;platformBoundingBox.Height);&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;for&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;(&lt;/font&gt;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;y1;&amp;nbsp;y&amp;nbsp;&amp;lt;&amp;nbsp;y2;&amp;nbsp;++y)&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;for&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;(&lt;/font&gt;&lt;font style="color:blue;"&gt;int&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;x1;&amp;nbsp;x&amp;nbsp;&amp;lt;&amp;nbsp;x2;&amp;nbsp;++x)&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;if&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;(((bitsA[(x&amp;nbsp;-&amp;nbsp;playerBoundingBox.X)&amp;nbsp;+&amp;nbsp;(y&amp;nbsp;-&amp;nbsp;playerBoundingBox.Y)&amp;nbsp;*&amp;nbsp;a.Width]&amp;nbsp;&amp;amp;&amp;nbsp;0xFF000000)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;24)&amp;nbsp;&amp;gt;&amp;nbsp;20&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((bitsB[(x&amp;nbsp;-&amp;nbsp;platformBoundingBox.X)&amp;nbsp;+&amp;nbsp;(y&amp;nbsp;-&amp;nbsp;platformBoundingBox.Y)&amp;nbsp;*&amp;nbsp;b.Width]&amp;nbsp;&amp;amp;&amp;nbsp;0xFF000000)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;24)&amp;nbsp;&amp;gt;&amp;nbsp;20)&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;return&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;true&lt;/font&gt;&lt;font style="font-size:11px;"&gt;;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font style="color:blue;"&gt;return&lt;/font&gt;&lt;font style="font-size:11px;"&gt;&amp;nbsp;&lt;/font&gt;&lt;font style="color:blue;"&gt;false&lt;/font&gt;&lt;font style="font-size:11px;"&gt;;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.cdx-games/com/source/platformpixelperfect.zip"&gt;Link to Full Project Download Here.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Note this a XNA 3.0 CTP Project and only the topmost centerish platform is tested and acted upon.&lt;/p&gt;</description></item></channel></rss>