<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Zune Boards - Development Discussions</title>
		<link>http://www.zuneboards.com/forums/</link>
		<description>All developers who are coding games may stop by here for any help, suggestions, and everything development related.</description>
		<language>en</language>
		<lastBuildDate>Sat, 21 Nov 2009 00:03:19 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.zuneboards.com/forums/images/styles/zune/misc/rss.jpg</url>
			<title>Zune Boards - Development Discussions</title>
			<link>http://www.zuneboards.com/forums/</link>
		</image>
		<item>
			<title>Zune Physics game</title>
			<link>http://www.zuneboards.com/forums/development-discussions/47182-zune-physics-game.html</link>
			<pubDate>Tue, 17 Nov 2009 04:57:29 GMT</pubDate>
			<description>hey guys, i need some help/suggestion for the physics game right now, aside from fixing all the bugs and what not i need soem graphics, if anyone...</description>
			<content:encoded><![CDATA[<div>hey guys, i need some help/suggestion for the physics game right now, aside from fixing all the bugs and what not i need soem graphics, if anyone cares to help<br />
<br />
i need<br />
<br />
-29x29 ball (white)<br />
-40x40 hole (for the ball to go in)<br />
<br />
<br />
thats pretty much it, if you feel like helping then thanks =)</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>itsthatsguy</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/47182-zune-physics-game.html</guid>
		</item>
		<item>
			<title><![CDATA[[Demo] Dancing Sticks (Animation)]]></title>
			<link>http://www.zuneboards.com/forums/development-discussions/47134-demo-dancing-sticks-animation.html</link>
			<pubDate>Sun, 15 Nov 2009 00:36:33 GMT</pubDate>
			<description>Hi, coders - young and experienced alike 
 
It is my first demo ever posted on this board. 
 
Image:...</description>
			<content:encoded><![CDATA[<div>Hi, coders - young and experienced alike<br />
<br />
It is my first demo ever posted on this board.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pNLfISft106BzWs41wZuRQXR3Wr5EbuUjA0bVyEffvsv6z76031NdOJonpGu0ifJjlgFhUq-6y2fQlTzpoPenuQ/DancingSticks-Random.png" border="0" alt="" onload="NcodeImageResizer.createOn(this);" /><br />
<br />
Here are the links:<br />
screen shot <a href="http://cid-80aeaabd75732edb.skydrive.live.com/self.aspx/.Public/Zune%20Games/Dancing%20Sticks/DancingSticks-Random.png" target="_blank">DancingSticks-Random.png - Windows Live</a><br />
    ccgame package <a href="http://cid-80aeaabd75732edb.skydrive.live.com/self.aspx/.Public/Zune%20Games/Dancing%20Sticks/DancingSticks.ccgame" target="_blank">DancingSticks.ccgame - Windows Live</a><br />
    source package <a href="http://cid-80aeaabd75732edb.skydrive.live.com/self.aspx/.Public/Zune%20Games/Dancing%20Sticks/DancingSticks.zip" target="_blank">DancingSticks.zip - Windows Live</a><br />
<br />
<br />
<br />
This demo just shows some random sticks dancing around the screen on a classic Zune. Nothing more but it uses only one texture - a single white pixel. I am thinking of a few different versions using just sticks, real good ones.<br />
<br />
Hey, how about having Stick Competition here?<br />
<br />
Why don't you guys submit your own version(s) on this thread and let us judge which is the most impressive? The rules are simple: only one texture of a single pixel and performance without being hit at any time. (See my source code for a guidance.)<br />
<br />
Happy coding.<br />
<br />
Ol' Geo<br />
A veteran coder who rides err... rode a jet ski</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>KawaCoder</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/47134-demo-dancing-sticks-animation.html</guid>
		</item>
		<item>
			<title>Disable internet browser???</title>
			<link>http://www.zuneboards.com/forums/development-discussions/47082-disable-internet-browser.html</link>
			<pubDate>Thu, 12 Nov 2009 02:48:20 GMT</pubDate>
			<description><![CDATA[i'm new to this forum and if i'm posting in the wrong spot, sorry! mods please move if needed. 
 
so my dad won't let me use wifi on the zhd unless...]]></description>
			<content:encoded><![CDATA[<div>i'm new to this forum and if i'm posting in the wrong spot, sorry! mods please move if needed.<br />
<br />
so my dad won't let me use wifi on the zhd unless there's some way to disable the browser or filter web content. is there any way to make a software hack to disable the browser, e.g. if you click on internet, nothing happens. idk if this is possible, because i'm not a developer, but if it's possible i'd greatly appreciate it!<br />
i know a lot of other people want this ability, and hopefully in a later firmware update zune will make parental controls like the itouch. but in the mean time, there would be no wifi for me :(</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>caleblargo</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/47082-disable-internet-browser.html</guid>
		</item>
		<item>
			<title>map scrolling in Xna</title>
			<link>http://www.zuneboards.com/forums/development-discussions/47061-map-scrolling-xna.html</link>
			<pubDate>Wed, 11 Nov 2009 07:07:16 GMT</pubDate>
			<description>doea anyone know how to veiw a different set of coordinates in the veiwport?</description>
			<content:encoded><![CDATA[<div>doea anyone know how to veiw a different set of coordinates in the veiwport?</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>argondey</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/47061-map-scrolling-xna.html</guid>
		</item>
		<item>
			<title><![CDATA[[Help] Ccgame unpackage error]]></title>
			<link>http://www.zuneboards.com/forums/development-discussions/47001-help-ccgame-unpackage-error.html</link>
			<pubDate>Mon, 09 Nov 2009 00:23:06 GMT</pubDate>
			<description>Hi, folks... 
 
This is my first post ever on this board. 
 
I wanna share my modded games with those who own Zune devices. 
 
After I packed my game...</description>
			<content:encoded><![CDATA[<div>Hi, folks...<br />
<br />
This is my first post ever on this board.<br />
<br />
I wanna share my modded games with those who own Zune devices.<br />
<br />
After I packed my game in ccgame format, I tried to unpack this file for <br />
testing but I got an error message:<br />
<br />
&quot;Error 2600: The package contains files that should not be trusted.&quot;<br />
<br />
The package contains only textures, fonts, one dll file, and executable. <br />
Which ones are not trusted?<br />
<br />
Any explanation would be greatly appreciated.<br />
<br />
Geo<br />
Retired software engineer</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>KawaCoder</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/47001-help-ccgame-unpackage-error.html</guid>
		</item>
		<item>
			<title><![CDATA[[WIP] Colour Blind [Zune HD]]]></title>
			<link>http://www.zuneboards.com/forums/development-discussions/46982-wip-colour-blind-zune-hd.html</link>
			<pubDate>Sun, 08 Nov 2009 14:37:24 GMT</pubDate>
			<description><![CDATA[Download Colour Blind.ccgame (http://www.filefront.com/14883279/Colour%20Blind.ccgame) 
 
This is a work in progress game. It's actually pretty much...]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.filefront.com/14883279/Colour%20Blind.ccgame" target="_blank">Download Colour Blind.ccgame</a><br />
<br />
This is a work in progress game. It's actually pretty much playable as a complete game, but I have a few things still to add and a lot of refinement and stuff to do.<br />
<br />
It will currently crash when you finish the last level (level 10).<br />
<br />
Coloured balls fall down the screen and you have to tap the ones where the colour matches the word written on the ball. You lose points if you tap the wrong balls and you lose a life if you miss a 'correct' ball.<br />
<br />
If you've ever done the psychology test where you have to read a list of colours written in different coloured text you'll be familiar with this.<br />
<br />
<br />
e.g. try to quickly read out loud the colour of the text (not the actual words): <font color="Blue">red</font>, <font color="Red">green</font>, <font color="Blue">blue</font>, <font color="SeaGreen">yellow</font>, <font color="Yellow">red</font>, <font color="Red">blue</font>.</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>greedo</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46982-wip-colour-blind-zune-hd.html</guid>
		</item>
		<item>
			<title>Chess</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46980-chess.html</link>
			<pubDate>Sun, 08 Nov 2009 13:03:01 GMT</pubDate>
			<description><![CDATA[Hello, 
 
I haven't been coding for a while, my last game, Zudoku, I quit developing when The Zune update with the built in sudoku game was released....]]></description>
			<content:encoded><![CDATA[<div>Hello,<br />
<br />
I haven't been coding for a while, my last game, Zudoku, I quit developing when The Zune update with the built in sudoku game was released.  This is my next attemp, Chess.  Its in a xna windows game right now, but after i clear most of the coding problems I will tailor it to a zune game.  I just find it easier to test and debug on the laptop.  I just started it the other day so its not very far along, but you can download it from the link and take a look.  Any suggestions or input would be much appreciated.  If anyone would like to help, also, that would be great.  The game is going to be strictly wireless multiplayer because I really don't want to tackle to problem of computer chess logic.  If someone does, I would add it in no problem.  Thanks<br />
<br />
Max<br />
<br />
<a href="http://sites.google.com/site/supermax79/Home" target="_blank">Home (supermax79)</a></div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>supermax79</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46980-chess.html</guid>
		</item>
		<item>
			<title>Zune HD Performance Update XNA</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46977-zune-hd-performance-update-xna.html</link>
			<pubDate>Sun, 08 Nov 2009 06:37:13 GMT</pubDate>
			<description><![CDATA[Hopefully a mod won't wrongfully move this into another totally nonsense spot this time, later to just merge it with something not directly related....]]></description>
			<content:encoded><![CDATA[<div>Hopefully a mod won't wrongfully move this into another totally nonsense spot this time, later to just merge it with something not directly related.<br />
<br />
To the developers using the Zune HD, has the performance of your games increased at all?</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>Tiptup300</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46977-zune-hd-performance-update-xna.html</guid>
		</item>
		<item>
			<title>Drawing in layers?</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46963-drawing-layers.html</link>
			<pubDate>Sat, 07 Nov 2009 21:23:12 GMT</pubDate>
			<description>Does the draw method draw things by their placement in code? Like I would draw a car and then an overaly over it and the zombie would draw under the...</description>
			<content:encoded><![CDATA[<div>Does the draw method draw things by their placement in code? Like I would draw a car and then an overaly over it and the zombie would draw under the overlay. Is that how it works?</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>BlackFox</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46963-drawing-layers.html</guid>
		</item>
		<item>
			<title><![CDATA[[CODE] ZuneTouchController]]></title>
			<link>http://www.zuneboards.com/forums/development-discussions/46951-code-zunetouchcontroller.html</link>
			<pubDate>Sat, 07 Nov 2009 04:14:40 GMT</pubDate>
			<description><![CDATA[I've put together a fully documented utility class for making it easier to work with the capacitive touch screen of the ZuneHD.  *One particularly...]]></description>
			<content:encoded><![CDATA[<div>I've put together a fully documented utility class for making it easier to work with the capacitive touch screen of the ZuneHD.  <b>One particularly cool feature is that it inherently supports pinch/stretch zoom</b> :grin:<br />
<br />
You can either download it via this link or I've also added it directly to the post as well for copy/paste (see bottom of post).<br />
<a href="http://cid-6d9eed336043d8e9.skydrive.live.com/self.aspx/.Public/Zune/ZuneTouchController.cs" target="_blank">ZuneTouchController.cs - Windows Live</a><br />
<br />
<br />
To implement it, simply create an instance of it, map the events you want, and call its Update() method within your games update method.  Example:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">using Microsoft.Xna.Framework.Input.Touch;<br />
namespace ZuneGame1<br />
{<br />
&nbsp; &nbsp; public class ZuneGame1 : Microsoft.Xna.Framework.Game<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; ZuneTouchController touchController;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public override void Initialize()<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchController = new ZuneTouchController();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchController.TouchContact += new TouchEventHandler(touchController_TouchContact);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchController.TouchMoved += new TouchEventHandler(touchController_TouchMoved);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchController.TouchRelease += new TouchEventHandler(touchController_TouchRelease);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; void touchController_TouchRelease(object sender, TouchEventArgs e)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw new NotImplementedException();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; void touchController_TouchMoved(object sender, TouchEventArgs e)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw new NotImplementedException();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; void touchController_TouchContact(object sender, TouchEventArgs e)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw new NotImplementedException();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; public override void Update(GameTime gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ...<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchController.Update(gameTime);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; }<br />
}</code><hr />
</div><br />
<font size="4"><b>And here's the code:</b></font><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Code:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">///////////////////////////////////////////////////////////////////////////////<br />
// <br />
// ZuneTouchController<br />
// <br />
// This class is a useful utility for factoring out the common actions<br />
// of interacting with the capacitive touch screen on the Zune HD device.<br />
// <br />
// Free for both commerical and non-commercial use<br />
// Credit is appreciated, but not required.<br />
// <br />
// Copyright 2009 Daniel J.N. Chattan<br />
// mailto:dnchattan@gmail.com<br />
///////////////////////////////////////////////////////////////////////////////<br />
<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;<br />
using Microsoft.Xna.Framework;<br />
using Microsoft.Xna.Framework.Audio;<br />
using Microsoft.Xna.Framework.Content;<br />
using Microsoft.Xna.Framework.GamerServices;<br />
using Microsoft.Xna.Framework.Graphics;<br />
using Microsoft.Xna.Framework.Input;<br />
using Microsoft.Xna.Framework.Media;<br />
using Microsoft.Xna.Framework.Net;<br />
using Microsoft.Xna.Framework.Storage;<br />
<br />
namespace Microsoft.Xna.Framework.Input.Touch<br />
{<br />
&nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; /// Event handler for touch events<br />
&nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; public delegate void TouchEventHandler(object sender, TouchEventArgs e);<br />
&nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; /// Event handler for pinch/stretch zoom events<br />
&nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; public delegate void ZoomEventHandler(object sender, ZoomEventArgs e);<br />
<br />
&nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; /// Class containing event data for a zoom event<br />
&nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; public class ZoomEventArgs : TouchEventArgs<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; private float zoom;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Gets or sets the zoom for this event<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;value&gt;The zoom.&lt;/value&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public float ZoomDelta { get { return this.zoom; } set { this.zoom = value; } }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;ZoomEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public ZoomEventArgs()<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : base()<br />
&nbsp; &nbsp; &nbsp; &nbsp; { }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;ZoomEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;gameTime&quot;&gt;The game time.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public ZoomEventArgs(GameTime gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : base(gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; { }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;ZoomEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;gameTime&quot;&gt;The game time.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;location&quot;&gt;The location.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public ZoomEventArgs(GameTime gameTime, TouchLocation location)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : base(gameTime, location)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;ZoomEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;gameTime&quot;&gt;The game time.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;location&quot;&gt;The location.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;zoom&quot;&gt;The zoom delta.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public ZoomEventArgs(GameTime gameTime, TouchLocation location, float zoom)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : this(gameTime, location)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.zoom = zoom;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; /// Class containing event data for a touch event<br />
&nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; public class TouchEventArgs : EventArgs<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; private TouchLocation touchLocation;<br />
&nbsp; &nbsp; &nbsp; &nbsp; private GameTime gameTime;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Gets or sets the game time.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;value&gt;The game time.&lt;/value&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public GameTime GameTime { get { return gameTime; } set { gameTime = value; } }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Gets or sets the touch location.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;value&gt;The touch location.&lt;/value&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public TouchLocation TouchLocation { get { return this.touchLocation; } set { this.touchLocation = value; } }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;TouchEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public TouchEventArgs()<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : base()<br />
&nbsp; &nbsp; &nbsp; &nbsp; { }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;TouchEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;gameTime&quot;&gt;The game time.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public TouchEventArgs(GameTime gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : base()<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.gameTime = gameTime;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Initializes a new instance of the &lt;see cref=&quot;TouchEventArgs&quot;/&gt; class.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;location&quot;&gt;The location.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public TouchEventArgs(GameTime gameTime, TouchLocation location)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : this(gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchLocation = location;<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; /// Event-based controller for the Zune capacitive touch screen.<br />
&nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; public class ZuneTouchController<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// The total number of touch points<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; protected int touchPoints;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Gets the total number of touch points.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;value&gt;The total number of touch points.&lt;/value&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public int TouchPoints { get { return this.touchPoints; } }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Occurs when the user touches the screen<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public event TouchEventHandler TouchContact;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Occurs when the user releases a touch point on the screen<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public event TouchEventHandler TouchRelease;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Occurs when the user moves a touch point on the screen.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public event TouchEventHandler TouchMoved;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Occurs when the user makes a pinch guesture with two fingers on the screen.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public event ZoomEventHandler TouchPinch;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Occurs when the user makes a stretch guesture with two fingers on the screen.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public event ZoomEventHandler TouchStretch;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Raises the &lt;see cref=&quot;E:TouchContact&quot;/&gt; event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;e&quot;&gt;The &lt;see cref=&quot;Microsoft.Xna.Framework.Input.Touch.TouchEventArgs&quot;/&gt; instance containing the event data.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void OnTouchContact(TouchEventArgs e) { if (this.TouchContact != null) this.TouchContact(this, e); }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Raises the &lt;see cref=&quot;E:TouchRelease&quot;/&gt; event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;e&quot;&gt;The &lt;see cref=&quot;Microsoft.Xna.Framework.Input.Touch.TouchEventArgs&quot;/&gt; instance containing the event data.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void OnTouchRelease(TouchEventArgs e) { if (this.TouchRelease != null) this.TouchRelease(this, e); }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Raises the &lt;see cref=&quot;E:TouchMoved&quot;/&gt; event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;e&quot;&gt;The &lt;see cref=&quot;Microsoft.Xna.Framework.Input.Touch.TouchEventArgs&quot;/&gt; instance containing the event data.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void OnTouchMoved(TouchEventArgs e) { if (this.TouchMoved != null) this.TouchMoved(this, e); }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Raises the &lt;see cref=&quot;E:TouchPinch&quot;/&gt; event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;e&quot;&gt;The &lt;see cref=&quot;Microsoft.Xna.Framework.Input.Touch.ZoomEventArgs&quot;/&gt; instance containing the event data.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void OnTouchPinch(ZoomEventArgs e) { if (this.TouchPinch != null) this.TouchPinch(this, e); }<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Raises the &lt;see cref=&quot;E:TouchStretch&quot;/&gt; event.<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;param name=&quot;e&quot;&gt;The &lt;see cref=&quot;Microsoft.Xna.Framework.Input.Touch.ZoomEventArgs&quot;/&gt; instance containing the event data.&lt;/param&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void OnTouchStretch(ZoomEventArgs e) { if (this.TouchStretch != null) this.TouchStretch(this, e); }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// Updates this control<br />
&nbsp; &nbsp; &nbsp; &nbsp; /// &lt;/summary&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public void Update(GameTime gameTime)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TouchCollection touchCollection = TouchPanel.GetState();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.touchPoints = touchCollection.Count;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // iterate through all of the touch points<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach (TouchLocation point in touchCollection)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; switch (point.State)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case TouchLocationState.Pressed:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OnTouchContact(new TouchEventArgs(gameTime, point));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case TouchLocationState.Released:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OnTouchRelease(new TouchEventArgs(gameTime, point));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case TouchLocationState.Moved:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OnTouchMoved(new TouchEventArgs(gameTime, point));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; default:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // If the client is mapping pinch/stretch<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (this.TouchPinch != null || this.TouchStretch != null)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // we have two contact points<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (touchCollection.Count == 2)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // either point has moved<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (touchCollection[0].State == TouchLocationState.Moved<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; || touchCollection[1].State == TouchLocationState.Moved)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ensure we can get a previous location for both points<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TouchLocation[] prevPos = new TouchLocation[2];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (touchCollection[0].TryGetPreviousLocation(out prevPos[0])<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp;&amp; touchCollection[1].TryGetPreviousLocation(out prevPos[1]))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; float startDistance = Vector2.Distance(prevPos[0].Position, prevPos[1].Position);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; float endDistance = Vector2.Distance(touchCollection[0].Position, touchCollection[1].Position);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; float zoom = endDistance - startDistance;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // determine which point is more stationary, which gets passed to the eventargs as the &quot;anchor&quot; point<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TouchLocation stationaryPoint;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Vector2.Distance(touchCollection[0].Position, prevPos[0].Position)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Vector2.Distance(touchCollection[1].Position, prevPos[1].Position))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stationaryPoint = touchCollection[1];<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stationaryPoint = touchCollection[0];<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (zoom &lt; 0)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.OnTouchPinch(new ZoomEventArgs(gameTime, stationaryPoint, zoom));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.OnTouchStretch(new ZoomEventArgs(gameTime, stationaryPoint, zoom));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
}</code><hr />
</div></div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>dnchattan</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46951-code-zunetouchcontroller.html</guid>
		</item>
		<item>
			<title>Zive Engine -- Accelerate Your Game Development!</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46941-zive-engine-accelerate-your-game-development.html</link>
			<pubDate>Fri, 06 Nov 2009 17:40:16 GMT</pubDate>
			<description><![CDATA[Image: http://img18.imageshack.us/img18/6079/deletef.png Image: http://img4.imageshack.us/img4/4566/delete2e.png  
 
Now announcing the project I've...]]></description>
			<content:encoded><![CDATA[<div><img src="http://img18.imageshack.us/img18/6079/deletef.png" border="0" alt="" onload="NcodeImageResizer.createOn(this);" /><img src="http://img4.imageshack.us/img4/4566/delete2e.png" border="0" alt="" onload="NcodeImageResizer.createOn(this);" /><br />
<br />
Now announcing the project I've been working on for a while. It's just a handy library that helps you create your games as quickly as possible. <br />
<br />
<b>- Full Input/Player Manager</b> (Made for both 360 &amp; Zune development)<br />
 -- For Zune Development this provides a handy PlayerGamepad class which will help make dealing with player's input a whole lot easier.<br />
<br />
<b>- 2D Animation Engine</b><br />
 -- Used in Slaam!, this little tool will take a spritesheet and turn it into a list of animations which you can switch around and modify.<br />
<br />
<b>- Advanced Drawing Functions</b><br />
 -- One of the bigger parts of the engine. Without loading in ANY content the engine is able to create/draw gradients, lines, rectangles, circles, &amp; triangles at runtime with no significant hit to the FPS. Very VERY useful for debug physics information.<br />
<br />
<b>- Scene Management</b><br />
 -- Manage your games scenes in a very simple manner. Each Scene has a list of states to allow for easy programming of transitions. Also automatically implements the PlayerManager to handle multiple player inputs more easily [360/PC].<br />
<br />
<b>- Multithreading System</b> (Made for loading/saving game content)<br />
 -- Simple system to load the content, while the game continues to update and has the abillity to show a little animation to show the game is busy while still showing it's not frozen.<br />
<br />
<b>- FPS Monitor</b><br />
 -- No more will you have to load in an irritating spritefont JUST to see how fast your game is running. Using the advanced drawing functions you can quickly and efficiently see the fps of the game with no hassle at all.<br />
<br />
<b>- Particle Engine</b><br />
 -- WIP<br />
<br />
<b>- Powerful Menu System</b><br />
 -- Very VERY robust menu system used in My Contacts, zBlade, &amp; ZuneHome. Can be used for a very large array of different menus. <br />
<br />
It should be out soon. I just gotta finish the particle engine and we should be good.</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>Tiptup300</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46941-zive-engine-accelerate-your-game-development.html</guid>
		</item>
		<item>
			<title>Air Hockey</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46940-air-hockey.html</link>
			<pubDate>Fri, 06 Nov 2009 16:55:02 GMT</pubDate>
			<description>Hey all, 
  
I just got my ZuneHD and naturally am already coding on it :). Just wanted to share this little project to show how capable the Zune is...</description>
			<content:encoded><![CDATA[<div>Hey all,<br />
 <br />
I just got my ZuneHD and naturally am already coding on it :). Just wanted to share this little project to show how capable the Zune is of very smooth and quick game development.<br />
 <br />
I spent about 3 hours last night working on this, it defintely has its issues, but it's pretty impressive what can be done on this device with such a small amount of work!<br />
<br />
<font color="White"><b>Update #2:<br />
I have posted the source project on my blog (soon to be the source for much more Zune programming goodness:<br />
<a href="http://dnchattan.blogspot.com/2009/11/zune-hd-sample-project-air-hockey.html" target="_blank">Ctrl+Z: Zune HD Sample Project - Air Hockey</a><br />
</b></font><br />
<br />
Update:<br />
You can now download the demo here:<br />
<a href="http://cid-6d9eed336043d8e9.skydrive.live.com/self.aspx/.Public/Zune/ccgame/AirHockey.ccgame" target="_blank">AirHockey.ccgame - Windows Live</a><br />
<br />
 <br />
<div align="center">
<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="400" style="margin:10px 0">
<thead>
        <tr>
                <td class="tcat" colspan="2" style="text-align:center">
                        <a href="http://www.youtube.com/watch?v=wsj8B-DjYvA" title="YouTube - Zune HD - air hockey" target="_blank">YouTube - Zune HD - air hockey</a>
                </td>
        </tr>
</thead>
<tbody>
        <tr>
                <td class="panelsurround" align="center"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/wsj8B-DjYvA"></param><embed src="http://www.youtube.com/v/wsj8B-DjYvA" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent"></embed></object></td>
        </tr>
</tbody>
</table></div> <br />
I'll probably be posting the source code sometime soon, as well as that to many other small projects as I have free weekends :).<br />
 <br />
Enjoy!</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>dnchattan</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46940-air-hockey.html</guid>
		</item>
		<item>
			<title>Zune GUI</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46801-zune-gui.html</link>
			<pubDate>Sat, 31 Oct 2009 02:07:12 GMT</pubDate>
			<description>I will be making a custom Zune GUI system for all to use (open source) 
 
some of the contents will be 
13+ menus (ill define them in the below) 
 1....</description>
			<content:encoded><![CDATA[<div>I will be making a custom Zune GUI system for all to use (open source)<br />
<br />
some of the contents will be<br />
13+ menus (ill define them in the below)<ol style="list-style-type: decimal"><li>Landscape/Portrait Keyboard</li>
<li>Edit boxes</li>
<li>Rich edit boxes</li>
<li>Buttons</li>
<li>Radio Boxes</li>
<li>Check Boxes</li>
<li>Combo Boxes / Drop Boxes</li>
<li>Context Menus</li>
<li>Draggable controls</li>
<li>Progress Bars</li>
<li>Popups</li>
<li>Widgets</li>
<li>Tabs</li>
<li>Canvases</li>
<li>Swipe bar (Ad bar)</li>
<li>And more</li>
</ol><br />
I will be rolling them out probably one at a time, they'll all be individual components so you can choose which ones you want to use.<br />
They will all be themeable, easy to use, customizable (actions and design), and able to use in pretty much any situation<br />
they will be optimized to run quickly and efficiently<br />
<br />
The various menus will be a<ol style="list-style-type: decimal"><li>Swipe menu (already created)</li>
<li>Flick menu</li>
<li>Arc menu</li>
<li>Strip menu</li>
<li>Thumbnail menu</li>
<li>Circle menu</li>
<li>Square menu</li>
<li>Vertical pane menu</li>
<li>Card menu</li>
<li>Depth menu</li>
<li>Carousel menu</li>
<li>Center stage menu</li>
<li>Cover flow menu</li>
</ol><br />
Ill be creating mock-ups for these and the other controls for everyone to get an idea of what they are</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>Cobalthex</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46801-zune-gui.html</guid>
		</item>
		<item>
			<title>Zune HD Swipe Menu V1.0</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46711-zune-hd-swipe-menu-v1-0-a.html</link>
			<pubDate>Tue, 27 Oct 2009 01:00:44 GMT</pubDate>
			<description><![CDATA[Heres my menu system that I've been working on, please post any bugs or whatever here or on the codeplex website. I'll be working on improving the...]]></description>
			<content:encoded><![CDATA[<div>Heres my menu system that I've been working on, please post any bugs or whatever here or on the codeplex website. I'll be working on improving the docs and adding new features. <br />
The docs are in the Documentation section of the codeplex website.<br />
 I will also be releasing some themes for developers to use (You are free to use commercially as long as you don't claim as your own (royalty free though))<br />
<a href="http://swipemenu.codeplex.com/" target="_blank">Zune HD Swipe Menu</a><br />
<br />
The logo, a screenshot and a video <br />
<img src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=swipemenu&amp;DownloadId=89257&amp;Build=15896" border="0" alt="" onload="NcodeImageResizer.createOn(this);" /><br />
I will be adding the .ico and svg of the logo to the CodePlex SVN for anyone who wants it<br />
<br />
<img src="http://img7.imageshack.us/img7/1673/menuexample.png" border="0" alt="" onload="NcodeImageResizer.createOn(this);" /><br />
<p><div style="float:left;"><table class="tborder" cellpadding="6" cellspacing="1" border="0" width="400" style="margin:10px 0">
<thead>
	<tr>
		<td class="tcat" colspan="2" style="text-align:center">
			<span style="float:right;margin-left:5px;cursor:pointer;font-weight:bolder;" title="Increase this video's size" onclick="
				if ( this.innerHTML == '+' ) {
					this.innerHTML = '-';
					this.title = 'Reset video size';
					this.parentNode.parentNode.parentNode.parentNode.width=638;
					this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('object')[0].width=638;
					this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('object')[0].height=515;
				} else {
					this.innerHTML = '+';
					this.title = 'Increase this video\'s size';
					this.parentNode.parentNode.parentNode.parentNode.width=425;
					this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('object')[0].width=425;
					this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('object')[0].height=355;
				}
			">+</span>
			<a href="http://www.youtube.com/watch?v=lc41U3Prnbc" title="View this video at YouTube in a new window or tab" target="_blank">YouTube Video</a>
		</td>
	</tr>
</thead>
<tbody>
	<tr>
		<td class="panelsurround" align="center">
			<object width="425" height="355" type="application/x-shockwave-flash" data="http://www.youtube.com/v/lc41U3Prnbc&amp;showsearch=0">
				<param name="movie" value="http://www.youtube.com/v/lc41U3Prnbc&amp;showsearch=0" />
				<param name="wmode" value="transparent" />
				<em><strong>ERROR:</strong> If you can see this, then <a href="http://www.youtube.com/">YouTube</a> is down or you don't have Flash installed.</em>
			</object>
		</td>
	</tr>
</tbody>
</table></div><div style="clear:both;"></div><br />
more themes coming soon<br />
<br />
I will also be making a canvas like this (for scrollable images documents, etc.)<br />
<br />
[Mod edit: Please do not double post. Thanks.]</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>Cobalthex</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46711-zune-hd-swipe-menu-v1-0-a.html</guid>
		</item>
		<item>
			<title>Game Port Question.</title>
			<link>http://www.zuneboards.com/forums/development-discussions/46687-game-port-question.html</link>
			<pubDate>Sun, 25 Oct 2009 18:15:40 GMT</pubDate>
			<description><![CDATA[Don't hate on me, I'm just a noob asking a probably stupid question. 
 
How hard is it to port a game from the previous generation Zune to the Zune...]]></description>
			<content:encoded><![CDATA[<div>Don't hate on me, I'm just a noob asking a probably stupid question.<br />
<br />
How hard is it to port a game from the previous generation Zune to the Zune HD?  Is it as simple as changing the controls?  Or is it a lot harder than that?  Thanks.</div>

]]></content:encoded>
			<category domain="http://www.zuneboards.com/forums/development-discussions-172/">Development Discussions</category>
			<dc:creator>FatalSylence</dc:creator>
			<guid isPermaLink="true">http://www.zuneboards.com/forums/development-discussions/46687-game-port-question.html</guid>
		</item>
	</channel>
</rss>
