<?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>Samples, Starter Kits, Tutorials</title><link>http://forums.xna.com/forums/59.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 0.0)</generator><item><title>XNA Billboard Sample, adding fog to .fx</title><link>http://forums.xna.com/forums/thread/253460.aspx</link><pubDate>Fri, 20 Nov 2009 12:21:07 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:253460</guid><dc:creator>Achilleterzo</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/253460.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=253460</wfw:commentRss><description>Hi all, i have tried a lot to setup decent fog in the basic .fx coming with that example...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My goal is adding this fog alghoritm to the billboard shader:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="overflow-x:auto;overflow-y:auto;background-color:white;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-color:#7f9db9;border-right-color:#7f9db9;border-bottom-color:#7f9db9;border-left-color:#7f9db9;font-family:&amp;#39;courier new&amp;#39;;font-size:11px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="width:99%;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;border-collapse:collapse;border-bottom-style:solid;border-bottom-color:#eeeeee;background-color:#ffffff;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;"&gt;                &lt;tr&gt;            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; fogNear = 10; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; fogFar = 100; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; fogAltitudeScale = 10; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; fogThinning = 100; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;float4 fogColor = {0.5, 0.5, 0.5, 1.0}; &lt;/td&gt;        &lt;/tr&gt;    &lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="overflow-x:auto;overflow-y:auto;background-color:white;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-color:#7f9db9;border-right-color:#7f9db9;border-bottom-color:#7f9db9;border-left-color:#7f9db9;font-family:&amp;#39;courier new&amp;#39;;font-size:11px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="width:99%;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;border-collapse:collapse;border-bottom-style:solid;border-bottom-color:#eeeeee;background-color:#ffffff;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;"&gt;                &lt;tr&gt;            &lt;td&gt;&lt;span style="font-size:11px;"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; l = saturate((d - fogNear) / (fogFar - fogNear) / clamp(Input.Position.y / fogAltitudeScale + 1, 1, fogThinning)); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="font-size:11px;"&gt; lerp(C, fogColor, l);     &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;    &lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="overflow-x:auto;overflow-y:auto;background-color:white;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-color:#7f9db9;border-right-color:#7f9db9;border-bottom-color:#7f9db9;border-left-color:#7f9db9;font-family:&amp;#39;courier new&amp;#39;;font-size:11px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="width:99%;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;border-collapse:collapse;border-bottom-style:solid;border-bottom-color:#eeeeee;background-color:#ffffff;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;"&gt;                &lt;tr&gt;            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&lt;/span&gt;&lt;span style="color:green;"&gt;//-----------------------------------------------------------------------------&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:green;"&gt;// Billboard.fx&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:green;"&gt;//&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:green;"&gt;// Microsoft Game Technology Group&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:green;"&gt;// Copyright (C) Microsoft Corporation. All rights reserved.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:green;"&gt;//-----------------------------------------------------------------------------&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:green;"&gt;// Camera parameters.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;float4x4 View; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;float4x4 Projection; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:green;"&gt;// Lighting parameters.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;float3 LightDirection; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;float3 LightColor = 0.8; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;float3 AmbientColor = 0.4; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:green;"&gt;// Parameters controlling the wind effect.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;float3 WindDirection = float3(1, 0, 0); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; WindWaveSize = 0.1; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; WindRandomness = 1; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; WindSpeed = 4; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; WindAmount; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; WindTime; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:green;"&gt;// Parameters describing the billboard itself.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; BillboardWidth; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; BillboardHeight; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;texture Texture; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;struct&lt;/span&gt;&lt;span style="font-size:11px;"&gt; VS_INPUT &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    float3 Position : POSITION0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    float3 Normal : NORMAL0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    float2 TexCoord : TEXCOORD0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Random : TEXCOORD1; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;}; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;struct&lt;/span&gt;&lt;span style="font-size:11px;"&gt; VS_OUTPUT &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    float4 Position : POSITION0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    float2 TexCoord : TEXCOORD0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    float4 Color : COLOR0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;}; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;VS_OUTPUT VertexShader(VS_INPUT input) &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    VS_OUTPUT output; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Apply a scaling factor to make some of the billboards&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// shorter and fatter while others are taller and thinner.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; squishFactor = 0.75 + abs(input.Random) / 2; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; width = BillboardWidth * squishFactor; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; height = BillboardHeight / squishFactor; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// Flip half of the billboards from left to right. This gives visual variety&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// even though we are actually just repeating the same texture over and over.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (input.Random &amp;lt; 0) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        width = -width; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Work out what direction we are viewing the billboard from.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    float3 viewDirection = View._m02_m12_m22; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    float3 rightVector = normalize(cross(viewDirection, input.Normal)); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// Calculate the position of this billboard vertex.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    float3 position = input.Position; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Offset to the left or right.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    position += rightVector * (input.TexCoord.x - 0.5) * width; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// Offset upward if we are one of the top two vertices.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    position += input.Normal * (1 - input.TexCoord.y) * height; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Work out how this vertex should be affected by the wind effect.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; waveOffset = dot(position, WindDirection) * WindWaveSize; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    waveOffset += input.Random * WindRandomness; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// Wind makes things wave back and forth in a sine wave pattern.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; wind = sin(WindTime * WindSpeed + waveOffset) * WindAmount; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// But it should only affect the top two vertices of the billboard!&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    wind *= (1 - input.TexCoord.y); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    position += WindDirection * wind; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// Apply the camera transform.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    float4 viewPosition = mul(float4(position, 1), View); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    output.Position = mul(viewPosition, Projection); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    output.TexCoord = input.TexCoord; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Compute lighting.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; diffuseLight = max(-dot(input.Normal, LightDirection), 0); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    output.Color.rgb = diffuseLight * LightColor + AmbientColor; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    output.Color.a = 1; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="font-size:11px;"&gt; output; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;} &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;sampler TextureSampler = sampler_state &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    Texture = (Texture); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    MinFilter = Linear; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    MagFilter = Linear; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    MipFilter = Linear; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    AddressU = Clamp; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    AddressV = Clamp; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;}; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;float4 PixelShader(float2 texCoord : TEXCOORD0, float4 color : COLOR0) : COLOR0 &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="font-size:11px;"&gt; tex2D(TextureSampler, texCoord) * color; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;} &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;technique Billboards &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// We use a two-pass technique to render alpha blended geometry with almost-correct&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// depth sorting. The only way to make blending truly proper for alpha objects is&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// to draw everything in sorted order, but manually sorting all our billboards&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// would be very expensive. Instead, we draw our billboards in two passes.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;//&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// The first pass has alpha blending turned off, alpha testing set to only accept&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// ~95% or more opaque pixels, and the depth buffer turned on. Because this is only&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// rendering the solid parts of each billboard, the depth buffer works as&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// normal to give correct sorting, but obviously only part of each billboard will&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// be rendered.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;//&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// Then in the second pass we enable alpha blending, set alpha test to only accept&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// pixels with fractional alpha values, and set the depth buffer to test against&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// the existing data but not to write new depth values. This means the translucent&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// areas of each billboard will be sorted correctly against the depth buffer&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// information that was previously written while drawing the opaque parts, although&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// there can still be sorting errors between the translucent areas of different&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// billboards.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;//&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// In practice, sorting errors between translucent pixels tend not to be too&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// noticable as long as the opaque pixels are sorted correctly, so this technique&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// often looks ok, and is much faster than trying to sort everything 100%&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:green;"&gt;// correctly. It is particularly effective for organic textures like grass and&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:green;"&gt;// trees.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;     &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    pass RenderOpaquePixels &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        VertexShader = compile vs_1_1 VertexShader(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        PixelShader = compile ps_1_1 PixelShader(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        AlphaBlendEnable = &lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                 &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        AlphaTestEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        AlphaFunc = Greater; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        AlphaRef = 245; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        ZEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        ZWriteEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        CullMode = None; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    pass RenderAlphaBlendedFringes &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        VertexShader = compile vs_1_1 VertexShader(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        PixelShader = compile ps_1_1 PixelShader(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        AlphaBlendEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        SrcBlend = SrcAlpha; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        DestBlend = InvSrcAlpha; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        AlphaTestEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        AlphaFunc = LessEqual; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        AlphaRef = 245; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        ZEnable = &lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        ZWriteEnable = &lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        CullMode = None; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;} &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;    &lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyone can help me?&lt;/div&gt;&lt;div&gt;Thanks :)&lt;/div&gt;</description></item><item><title>drawing sprites on a model - tutorial help</title><link>http://forums.xna.com/forums/thread/253318.aspx</link><pubDate>Fri, 20 Nov 2009 01:23:07 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:253318</guid><dc:creator>Duckfeet</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/253318.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=253318</wfw:commentRss><description>Hello,&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;m working though various samples &amp;amp; tutorials.  Everything off the website works fine, but I was wanting to go though the &amp;quot;draw a sprite over a model&amp;quot; sample that comes with game studio but when I try and run it nothing happens.&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;ve built the project with no errors, and tried pressing the keyboard controls once its loaded and nothing works.  Does anyone else have this problem?  Perhapes someone could point me in a direction of a similar tutorial elsewhere?&lt;br /&gt;
&lt;br /&gt;
Thanks</description></item><item><title>Game states inquiry please HELP!!!!</title><link>http://forums.xna.com/forums/thread/252912.aspx</link><pubDate>Thu, 19 Nov 2009 02:44:26 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:252912</guid><dc:creator>maverik0106</dc:creator><slash:comments>5</slash:comments><comments>http://forums.xna.com/forums/thread/252912.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=252912</wfw:commentRss><description>Hello,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;ve just finished Chapter 7 from Aaron Reed&amp;#39;s &amp;quot;Learning XNA 3.0&amp;quot; book, and at this point, we have finished our first 2D video game. &lt;/div&gt;&lt;div&gt;I&amp;#39;ve played and tweaked a few things on my own and have come up with many different successful things... &lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have added a few successful game states and used them properly, like adding a credits after game over game state, a pause game state and others....&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However when its Game Over and the game ends, I wanted to reset the game so that when someone presses a specific key (in this case &amp;#39;R&amp;#39;) the game will re-start and one can start again from the beginning. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have successfully done part of this (the part of sending it to the beginning game state) however, I am having a lot of trouble reseting the score, and reseting the number of lives left... in other words reseting the whole game. What I want is to start a new game with new score and new starting lives (default starting lives).. but I don&amp;#39;t know how to do this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I really would be appreciated if anyone could help me out I could give you my source but I think the problem is pretty straight forward... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks in advance!&lt;/div&gt;</description></item><item><title>Tutorial: Adding Melee to Platform Starter Kit</title><link>http://forums.xna.com/forums/thread/218841.aspx</link><pubDate>Tue, 25 Aug 2009 20:03:47 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:218841</guid><dc:creator>FiNaL Mirage</dc:creator><slash:comments>11</slash:comments><comments>http://forums.xna.com/forums/thread/218841.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=218841</wfw:commentRss><description>I&amp;#39;m working on a side project with a couple friends and I figured when I complete something that I find particularly useful I&amp;#39;d write a little tutorial to help some people out, or at least try to point them in the right direction. If you have any problems please post in this thread so it might solve problems for others as well.&lt;br /&gt;
P.S. I&amp;#39;m pretty new to this stuff so I&amp;#39;m sure there&amp;#39;s plenty of better/optimized ways to do this but I found this to be a quick solution. Please post suggestions/comments!&lt;br /&gt;
&lt;a href="http://www.robotfootgames.com/xna-tutorials/6-player-melee-tutorial" target="_blank"&gt;Adding Melee to the Platform Starter Kit&lt;/a&gt;&lt;br /&gt;</description></item><item><title>Many thanks to Shawn Hargreaves and his Blog!</title><link>http://forums.xna.com/forums/thread/252921.aspx</link><pubDate>Thu, 19 Nov 2009 03:42:09 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:252921</guid><dc:creator>Some Call Me Tim</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/252921.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=252921</wfw:commentRss><description>Once again &lt;a href="http://blogs.msdn.com/shawnhar/default.aspx" title="Game programming with the XNA Framework"&gt;Shawn Hargreaves Blog&lt;/a&gt; has bailed me out!&lt;br /&gt;
&lt;br /&gt;
I was trying to incorporate the smoke particle effect from the Particle 3D sample into my simulation.&amp;nbsp; I was having all kinds of problems with the point sprites from the particle effect not rendering correctly with my alpha blended billboards.&amp;nbsp; Luckily I stumbled on a post from Feb &amp;#39;09 in Shawn&amp;#39;s blog (&lt;a href="http://blogs.msdn.com/shawnhar/archive/2009/02/18/depth-sorting-alpha-blended-objects.aspx" title="Shawn Hargreaves Blog"&gt;Depth sorting alpha blended objects&lt;/a&gt;) that covered exactly what I was experiencing.&lt;br /&gt;
&lt;br /&gt;
Problem fixed.&lt;br /&gt;
&lt;br /&gt;
Thanks Shawn!&amp;nbsp; Keep up the good work!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>getting started totally from scratch</title><link>http://forums.xna.com/forums/thread/90954.aspx</link><pubDate>Fri, 19 Sep 2008 15:21:22 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:90954</guid><dc:creator>radlogicgames</dc:creator><slash:comments>9</slash:comments><comments>http://forums.xna.com/forums/thread/90954.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=90954</wfw:commentRss><description>&lt;p&gt;i just started developing in xna and c#, and it would have been a whole heck of a lot easier on me if somebody just pointed out the basics&lt;br /&gt;
it would have saved a lot of frustration, but would have gotten rid of the &amp;#39;fool&amp;#39;s gate&amp;#39; of getting the process started, so some experienced users are bound to find this post offensive&lt;/p&gt;
&lt;p&gt;anyway, there was no really simple thing on how to get started totally from scratch&lt;/p&gt;
&lt;p&gt;all i had was a new pc with vista home whatever installed on it&lt;/p&gt;
&lt;p&gt;so here&amp;#39;s a quick breakdown of the basics the way i do it - some will hate this and puke&lt;/p&gt;
&lt;p&gt;old school style;&lt;br /&gt;
&amp;nbsp;i am an &amp;#39;old school&amp;#39; programmer, hence i like small, light and fast rather than big and heavy&lt;br /&gt;
&amp;nbsp;this style isn&amp;#39;t for playing around and trying things out, this is for getting out a working product fast and furious&lt;br /&gt;
&amp;nbsp;this style focuses on producing content for the xbox 360 by first developing a working version on windows then creating a copy for xbox 360 and rebuilding and deploying via creators club&lt;/p&gt;
&lt;p&gt;xna and c# suit me and my style of small, light and fast&lt;br /&gt;
&amp;nbsp;some people really hate the way i program&lt;br /&gt;
&amp;nbsp;i code in straight xna and c#, using other tools only to help me along the way, doing multiple passes of the tools to get all i need&lt;br /&gt;
&amp;nbsp;i hate toolchains but so far i don&amp;#39;t mind using them individually if they produce something i need out of a file they make&lt;br /&gt;
&amp;nbsp;i use torque x builder&amp;nbsp;for&amp;nbsp;layout, then steal the positions and other info from the xml level file and hardcode them into the c# code&lt;br /&gt;
&amp;nbsp;i hate the c# compiler&amp;#39;s folder system, but its not worth the time to fix it, so i just run with it&lt;br /&gt;
&amp;nbsp;i hate programming rules, but i love best practices and try to follow the windows ones, and&amp;nbsp;if you don&amp;#39;t follow best practices on the 360 it will hang up or crash&lt;br /&gt;
&amp;nbsp;i hardly ever comment my code - the code is comment enough of you understand it properly, which you should begin to&amp;nbsp;remember and understand after a few programming sessions&lt;br /&gt;
&amp;nbsp;i prefer one big code file rather than a bunch of little ones&lt;br /&gt;
&amp;nbsp;i sometimes write my code in notepad or wordpad rather than the ide, and then start up the ide to compile it, feels like the old days compiling and linkimg masm&lt;br /&gt;
&amp;nbsp;i follow the path of the snake climbing the tree and i duplicate my code ruthlessly to do what i want, not make reusable code, and if i need something&amp;nbsp;from old code i cut and paste&lt;br /&gt;
&amp;nbsp;a one space indent is just fine by me&lt;br /&gt;
&amp;nbsp;scary, ain&amp;#39;t it!&lt;/p&gt;
&lt;p&gt;bare bones installation vista home whatever:&lt;br /&gt;
all of these are free downloads, and be sure to register them so they don&amp;#39;t time out&lt;br /&gt;
&amp;nbsp;m$ visual studio 2005 c# express (not 2008 - not supported by xna game studio version 2 as far as i can tell, maybe xna 3.0 is for 2008, but 2005 works just fine)&lt;br /&gt;
&amp;nbsp;xna game studio express version 2&lt;br /&gt;
&amp;nbsp;working, networked xbox 360 with a hard drive&lt;br /&gt;
&amp;nbsp;working developers wired 360 controller&lt;br /&gt;
&amp;nbsp;xbl gold membership&lt;br /&gt;
&amp;nbsp;xna creator&amp;#39;s club membership&lt;br /&gt;
&amp;nbsp;on the xbox 360 download the launcher and connector from the game store, genres, other, creators club and successfully start them once&lt;/p&gt;
&lt;p&gt;exorcise the system&lt;br /&gt;
&amp;nbsp;start the ide and choose new project from the file menu&lt;br /&gt;
&amp;nbsp;&lt;strong&gt;single-click only&lt;/strong&gt; on the&amp;nbsp;windows project&lt;br /&gt;
&amp;nbsp;change the name to windowsbase&lt;br /&gt;
&amp;nbsp;change the folder to the desktop&lt;br /&gt;
&amp;nbsp;it will create the project folder on the desktop when you hit ok&lt;br /&gt;
close the ide and open the folder, double-click on the sln file&lt;br /&gt;
&amp;nbsp;you may have to get fista to start m$ vs c# ide when you double-click on it by using browse&lt;br /&gt;
&amp;nbsp;go through every menu in the ide, familirize yourself with what they do,and be sure all folder settings are pointing to this folder we are woking in, especially build and import stuff&lt;br /&gt;
&amp;nbsp;use the project configuration menu to set your base info like copyright and author&lt;br /&gt;
&amp;nbsp;test project build and fix any errors or weirdness&lt;br /&gt;
&amp;nbsp;hit play to run it on the computer - it should be a blank blue screen and quits when the back button is pressed on the controller and that&amp;#39;s it&lt;br /&gt;
&amp;nbsp;i call it the &amp;#39;select&amp;#39; button, but&amp;nbsp;they call it &amp;#39;back&amp;#39; and that is what it actually says on the 360 controller if you look close&lt;br /&gt;
open and view the game1.cs file in the ide code window from the solution explorer&lt;br /&gt;
add a image file to contents from the solution explorer by right clicking on contents and add exiting - choose some small image file to load&lt;br /&gt;
make sure the image file appears and it copies it to the contents folder ok - use right click on it and remove it&lt;br /&gt;
this is your base program, so be sure all is correct - it needs to&amp;nbsp;be&amp;nbsp;running right with no crashes, error&amp;nbsp;or even warnings&lt;br /&gt;
&amp;#39;save all&amp;#39; the project&lt;br /&gt;
close the ide and make a copy of the folder - name it something 360base&lt;br /&gt;
open the ide with the 360base folder&amp;#39;s .sln file&lt;br /&gt;
create a copy of the solution for xbox360 under project&amp;nbsp;&lt;br /&gt;
delete the windows part - make this one for 360 only&lt;br /&gt;
&amp;nbsp;set up the xbox device connection and make sure the 360 can connect to the computer and it gets the program&lt;br /&gt;
&amp;nbsp;build, deploy and test the xbox version&lt;br /&gt;
&amp;nbsp;fix any weirdness and make this .sln your 360base&lt;br /&gt;
&amp;nbsp;copy both base projects somewhere safe as backups&lt;/p&gt;
&lt;p&gt;choose a project name or working title&lt;br /&gt;
&amp;nbsp;don&amp;#39;t sweat it and get bogged down on this step&lt;br /&gt;
&amp;nbsp;you can rename the final project later with some cool name&lt;br /&gt;
&amp;nbsp;just choose a one word name and run with it&lt;/p&gt;
&lt;p&gt;use the ide to create a windows project folder with the project name on the desktop&lt;br /&gt;
&amp;nbsp;right in front of your eyes and foremost your mind&lt;br /&gt;
&amp;nbsp;create a txt file in the folder somewhere&amp;nbsp;- this is the pre-production project breakdown file&lt;br /&gt;
&amp;nbsp;name it [the project name].txt and start editing it before doing anything else&lt;/p&gt;
&lt;p&gt;pre-production project breakdown file&lt;br /&gt;
&amp;nbsp;since we are developing a 360 product, we have to define what the product actually is&lt;br /&gt;
&amp;nbsp;to quickly do this i use a pre-production breakdown text file to flesh out the product before even writing the first line of code or drawing the first sprite&lt;br /&gt;
&amp;nbsp;the biggest game is just another computer program, with a basic flow from start to end, some variables and control structures to modify the flow based on stuff happening&lt;br /&gt;
&amp;nbsp;the 360 is just a computer with a fancy graphics card that runs a program from start to end and shows sprites and controls them via what we tell it to do&lt;br /&gt;
&amp;nbsp;the idea is to lay out your ideas in the txt file and see what&amp;#39;s what and determine what you really want and can actually do&lt;br /&gt;
&amp;nbsp;proper code is not important here, but if you have the code already or are pulling it from here and there, just drop it in the breakdown file&lt;br /&gt;
&amp;nbsp;think like a composer writing a song on the back of a napkin - only you need to know what stuff means&lt;br /&gt;
&amp;nbsp;develop the program, not from inside the language, but from outside and the overview&lt;br /&gt;
&amp;nbsp;don&amp;#39;t think about the whole program but think what you want on the screen and build up your whole sprites list&lt;br /&gt;
&amp;nbsp;if there are multiple screens or multiple levels, start small with just one screen and detail them each separately, duplicating whatever is needed to do them&lt;br /&gt;
&amp;nbsp;finally break down the program into the structure that xna uses: startup, levels, sprites, setup, load, show, contol, unload&amp;nbsp;and end&lt;br /&gt;
&amp;nbsp;if you just use load content struff, you don&amp;#39;t have to worry about unloading it, the content manager does it for you&lt;br /&gt;
&amp;nbsp;if you load anything into the program without using the content manager, like arrays or something, wipe it using unload before ending or you will pile up junk in memory&lt;br /&gt;
&amp;nbsp;just do the setup that xna needs and don&amp;#39;t worry about it for now, focus on what you want the program to look like&lt;br /&gt;
&amp;nbsp;the best tool is a piece of paper and a pen - draw out the screenshots you want to be able to do later, then figure out what you need to have in the program to make them happen&lt;br /&gt;
&amp;nbsp;the sprites list is all the sprites that are ever going to be on the screen throughout the whole entire program&lt;br /&gt;
&amp;nbsp;you&amp;#39;ll need to determine where they will be placed on the screen, then load them all at the start oif they are not too huge&lt;br /&gt;
&amp;nbsp;this is setup, then load - if you do&amp;nbsp;it all at the beginning, say during a splash screen,&amp;nbsp;it won&amp;#39;t bog down the user experience&amp;nbsp;later&lt;br /&gt;
&amp;nbsp;starting with a single level, detail out each section&lt;br /&gt;
&amp;nbsp;as you work with xna and the xna&amp;nbsp;structure, you can find what you need on the internet - best i have found so far is:&lt;a href="http://msdn.microsoft.com/en-us/library/bb194908.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb194908.aspx&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
materials (artwork)&lt;br /&gt;
&amp;nbsp;after working the breakdown file for awhile, you&amp;#39;ll start to get a fairly good idea about the artwork (textures) you need for the sprites&lt;br /&gt;
&amp;nbsp;2dsprites are just&amp;nbsp;flat one-sided 3dsprites,&amp;nbsp;and they have just one texture that needs to be loaded for each sprite unless you are going to use the textures on multiple sprites&lt;br /&gt;
&amp;nbsp;so far i just create basic shapes in paint then use gimp to flesh them out and finally save them as transparent&amp;nbsp;png&amp;#39;s or jpg&amp;#39;s&lt;/p&gt;
&lt;p&gt;my first program&lt;br /&gt;
&amp;nbsp;i chose to do a buttons program for my first one, so i could get the hang of user input and what words xna uses - xna is different than everybody else, but simpler in the end&lt;br /&gt;
&amp;nbsp;it is very easy to get bogged down in the xna object model and overcomplicate things - keep it simple stupid (kiss) rule applies here&lt;br /&gt;
&amp;nbsp;i want just a dumbo program to show a xbox 360 controller picture on the screen and flash the buttons when they are clicked&lt;br /&gt;
&amp;nbsp;in this case there should be a good controller pic somewhere on the internet that&amp;#39;s not copyrighted that shows all the buttons, the sticks and the triggers&lt;br /&gt;
&amp;nbsp;to use the picture, i loaded it into paint and cut out the buttons, the triggers and the sticks, lighting them up and saving each as separate image file&lt;br /&gt;
&amp;nbsp;create the jpg&amp;#39;s for each sprite and one for the controller with nothing highlighted - these will be the images that you will add into content and load into the sprite textures&lt;/p&gt;
&lt;p&gt;using buttons.txt;&lt;/p&gt;
&lt;p&gt;game overview&lt;br /&gt;
&amp;nbsp;show the pic of a 360 controller with buttons that highlight, driven by the buttons and sticks on the controller&lt;/p&gt;
&lt;p&gt;template&lt;br /&gt;
&amp;nbsp;windowsbase&lt;/p&gt;
&lt;p&gt;materials&lt;br /&gt;
&amp;nbsp;texture jpg images&lt;br /&gt;
&amp;nbsp; if your artwork is named differently its no problem, just fix when you&amp;nbsp;load it in the load&lt;br /&gt;
&amp;nbsp; controller sprite - an image of a 360 controller&lt;br /&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; Controller.jpg&lt;br /&gt;
&amp;nbsp; button and stick sprite texture jpg&amp;#39;s&amp;nbsp;- individual sprites for each of the controller buttons and the sticks&lt;br /&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; X&lt;br /&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; B&lt;br /&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; A&lt;br /&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; Select.&lt;br /&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; L1.&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;br /&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; L2.&lt;br /&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; L3.&lt;br /&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; R1.&lt;br /&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; R2.&lt;br /&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; R3.&lt;br /&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; Start.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;do buttons&lt;br /&gt;
&amp;nbsp; draw the sprites over the controller buttons when they are clicked&lt;/p&gt;
&lt;p&gt;setup&lt;br /&gt;
&amp;nbsp; think: define the sprites&lt;br /&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; Texture2D ControllerTexture;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;button and stick sprites - individual sprites for each of the controller buttons and the sticks&lt;br /&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; Texture2D YTexture;&lt;br /&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; Texture2D XTexture;&lt;br /&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; Texture2D BTexture;&lt;br /&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; Texture2D ATexture;&lt;br /&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; Texture2D SelectTexture;&lt;br /&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; Texture2D L1Texture;&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;br /&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; Texture2D L2Texture;&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;br /&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; Texture2D L3Texture;&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;br /&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; Texture2D R1Texture;&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;br /&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; Texture2D R2Texture;&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;br /&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; Texture2D R3Texture;&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;br /&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; Texture2D StartTexture;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&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; etc...&lt;br /&gt;
&lt;br /&gt;
load&lt;br /&gt;
&amp;nbsp;think: you&amp;#39;ve define the sprites, now load the textures for them&lt;br /&gt;
&amp;nbsp; &lt;span&gt;ControllerTexture = Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;controller&amp;quot;);&lt;br /&gt;
&amp;nbsp; ATexture = Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;nbsp; YTexture = Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;y&amp;quot;);&lt;br /&gt;
&amp;nbsp; etc...&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&amp;nbsp;sprite positions&lt;br /&gt;
&amp;nbsp; xna uses a Vector2 which is x and y in one go&lt;br /&gt;
&amp;nbsp; if the sprite needs to be moved, you do that in update&lt;br /&gt;
&amp;nbsp; this is in screen coords in pixels from top,left to bottom right of the 800 * 600 screen&lt;br /&gt;
&amp;nbsp; think: define the sprite, load the texture for it, set where it will be on the screen&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;Vector2 ControllerPosition = new Vector2(200f,200f);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Vector2 APosition = new Vector2(488f,342f);&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
update (runs every few milliseconds - don&amp;#39;t bog it down with a lot of long code)&lt;br /&gt;
&lt;br /&gt;
draw&amp;nbsp;(runs every few milliseconds - don&amp;#39;t bog it down with a lot of long code)&lt;br /&gt;
&amp;nbsp; if the buttons are pressed, draw the button&amp;#39;s sprite at the button&amp;#39;s position&lt;br /&gt;
&amp;nbsp; the color is the alphablend or transparent mask - leave white unless you need to change it&lt;br /&gt;
&amp;nbsp; sprites are drawn in batches, signified with a batch start and batch end statement - all your draws must be between them&lt;br /&gt;
&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; spriteBatch.Draw(ControllerTexture, ControllerPosition, Color.White);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)&amp;nbsp;spriteBatch.Draw(ATexture, APosition, Color.White);&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;and that&amp;#39;s it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
an upgraded version of the&amp;nbsp;buttons360&amp;nbsp;project will be available at: &lt;a href="http://www.esotericha.com/buttons360.zip"&gt;buttons360.zip&lt;/a&gt;&amp;nbsp;with more stuff than just showing the buttons, like doing text and following the sticks and triggers&lt;br /&gt;
&lt;br /&gt;
i did copyright the code, so don&amp;#39;t bite me and say its yours, but you are free to use it to learn how xna handles the controller stuff&lt;/p&gt;
&lt;p&gt;the controller image is not mine and i just saved it off the xbox 360&amp;nbsp;help site - thanks m$&lt;/p&gt;
&lt;p&gt;enjoy!&lt;br /&gt;
&lt;br /&gt;
gina (radlogic)&lt;br /&gt;
&lt;a href="mailto:radlogic@live.com"&gt;radlogic@live.com&lt;/a&gt;&lt;br /&gt;
&lt;a href="mailto:radlogicgames@live.com"&gt;radlogicgames@live.com&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;
</description></item><item><title>Role-Playing Game Starter Kit - Main Discussion Thread</title><link>http://forums.xna.com/forums/thread/62623.aspx</link><pubDate>Tue, 20 May 2008 03:22:41 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:62623</guid><dc:creator>Jenkmeister</dc:creator><slash:comments>269</slash:comments><comments>http://forums.xna.com/forums/thread/62623.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=62623</wfw:commentRss><description>&lt;p&gt;Tell the XNA GS and Community team what you think of the new RPG starter kit. We&amp;#39;d love to hear your thoughts and how you are extending it!&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;You can find the starter kit &lt;a href="http://creators.xna.com/en-us/starterkit/roleplayinggame"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6/25:&amp;nbsp;&lt;/strong&gt; The starter kit has been updated.&amp;nbsp; Find more information later in this thread, in &lt;a href="http://forums.xna.com/forums/p/11880/71138.aspx#71138"&gt;this post&lt;/a&gt;.&lt;/p&gt;
</description></item><item><title>XNA Shader Programming Tutorial</title><link>http://forums.xna.com/forums/thread/153616.aspx</link><pubDate>Wed, 25 Mar 2009 10:32:59 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:153616</guid><dc:creator>digitalerr0rDCC</dc:creator><slash:comments>64</slash:comments><comments>http://forums.xna.com/forums/thread/153616.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=153616</wfw:commentRss><description>Hi,&lt;br /&gt;
&lt;br /&gt;
I have just posted my XNA Shader Programming tutorial on my blog. I have had many presentations and workshops regarding XNA here in norway, and this is my collection related to shader programming.&lt;br /&gt;
The tutorials have been written as simple as possible in order to make them easy to follow. This means that there is no custom classes handling shaders, advanced scenes and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the first tutorials, but I will continue to add more:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!424.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;1 - Intro to HSLS, ambient light&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!426.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;2 - Diffuse light&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!437.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;3 - Specular light&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!442.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;4 - Normal mapping&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!447.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;5 - Deform vertex shader&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!450.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;6 - Shader demo: Simple ocean/island scenery&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!420.entry" target="_blank"&gt;&lt;span style="color:#e16d2e;"&gt;7 - Toon shading&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!462.entry" target="_blank"&gt;8 - Gloss map&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!511.entry"&gt;9 - Wiggle post process&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!513.entry"&gt;10 - Invert post process&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!516.entry"&gt;11 - Grayscale shader&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!518.entry"&gt;12 - Pixel distortion shader&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!558.entry"&gt;13 - Alpha mapping&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!580.entry"&gt;14 - Transmittance/depth buffers&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!585.entry"&gt;15 - Dynamic Environment mapping&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!590.entry"&gt;16 - Refraction&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!612.entry"&gt;17 - Point light + Self-Shadowing&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!636.entry"&gt;18 - Multiple Point Lights&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!639.entry"&gt;19 - Hemispheric ambient light&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!662.entry"&gt;20 - Depth of Field&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!667.entry"&gt;21 - Transition: Fade&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!683.entry"&gt;22 - Transition: Cross&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!855.entry"&gt;23 - Blur&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://digierr.spaces.live.com/blog/cns!2B7007E9EC2AE37B!860.entry"&gt;24 - Bloom&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this can be of help to anyone learning XNA,HLSL:)</description></item><item><title>Change tilesize in RPG kit?</title><link>http://forums.xna.com/forums/thread/250807.aspx</link><pubDate>Thu, 12 Nov 2009 23:12:44 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:250807</guid><dc:creator>Omnicoder</dc:creator><slash:comments>2</slash:comments><comments>http://forums.xna.com/forums/thread/250807.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=250807</wfw:commentRss><description>Aside from obviously resizing the graphics, what will I need to do to make it use 32x32 tiles? Is it gonna be a huge project to change?</description></item><item><title>Carcophony Postmortem</title><link>http://forums.xna.com/forums/thread/252447.aspx</link><pubDate>Tue, 17 Nov 2009 19:04:13 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:252447</guid><dc:creator>glpeas</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/252447.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=252447</wfw:commentRss><description>Hi,&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;m hoping this is the right forum, if not, moderators are free to move it I guess :) &lt;br /&gt;
&lt;br /&gt;
We&amp;#39;ve written a tech postmortem of our game [&lt;a href="http://bit.ly/3sssd4" target="_blank"&gt;Carcophony&lt;/a&gt;] that we think could be useful to other XNA developers. We hope there is something for everyone - begginer or advanced. Of course, if you are one of the many people who knows more than us, feel free to point out our mistakes and things we could have done better - it&amp;#39;s a learning experience for all of us. &lt;br /&gt;
&lt;br /&gt;
Here is the link: &lt;a href="http://bit.ly/1M57EF" target="_blank"&gt;carcophony tech postmortem&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Let us know what you thought or if you have any questions we would be happy to go in more detail :)&lt;br /&gt;
&lt;br /&gt;
Thank you,&lt;br /&gt;
glpeas&lt;br /&gt;</description></item><item><title>Robot Game is now available for download! (Updated 6/27)</title><link>http://forums.xna.com/forums/thread/69904.aspx</link><pubDate>Thu, 19 Jun 2008 18:31:39 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:69904</guid><dc:creator>Jenkmeister</dc:creator><slash:comments>117</slash:comments><comments>http://forums.xna.com/forums/thread/69904.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=69904</wfw:commentRss><description>Calling all Creators Club Premium Members... a new day is dawning... a chance for you to fight a new battle... a chance to command BIG Robots!!! :)&lt;br /&gt;
&lt;p&gt;Join with the XNA Team as we count down with new content each day until we release our new mini-game!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Day 1 - Screenshot 1" src="http://creators.xna.com/assets/cms/images/robotgame/day1-ss1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I wonder if that tank knows what&amp;#39;s coming...?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Day 1 - Screenshot 2" src="http://creators.xna.com/assets/cms/images/robotgame/day1-ss2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I guess not... ;-)&lt;/em&gt;&lt;/p&gt;
</description></item><item><title>2D Beginners Guide - Early Kill</title><link>http://forums.xna.com/forums/thread/251836.aspx</link><pubDate>Mon, 16 Nov 2009 03:29:22 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:251836</guid><dc:creator>Hattsoffs</dc:creator><slash:comments>2</slash:comments><comments>http://forums.xna.com/forums/thread/251836.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=251836</wfw:commentRss><description>I have some experience in programming but just starting to program games.&amp;nbsp; I really enjoyed walking through the 2D Beginners Guide and officially creating my first game...what was driving me crazy was that the aliens were disappearing as their nose touched the left side of the screen.&amp;nbsp; The drove me nuts and I knew this would be the first thing I would have to customize.&amp;nbsp; I thought I would share this simple code change.&lt;br /&gt;
&lt;br /&gt;
FYI - I saw another post about making the enemies going both ways...I haven&amp;#39;t looked at it yet, but this code would have to be changed to accomplish this...I don&amp;#39;t think it would be to hard...maybe creating an attribute to the class saying which direction the enemy is going and then put a if...else statement to handle either direction.&lt;br /&gt;
&lt;br /&gt;
This is in the Game1.cs class file, in the UpdateEnemies() section:&lt;br /&gt;
&lt;br /&gt;
Originally (from the tutorial) this is what is in the code:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border:1px solid #7f9db9;overflow:auto;background-color:white;font-family:courier new;font-size:11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width:0px;border-bottom:0px solid #eeeeee;margin:2px 0px;width:99%;border-collapse:collapse;background-color:#ffffff;"&gt;
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size:11px;"&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;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;(!viewportRect.Contains(&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;Point(&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)enemy.position.X,&amp;nbsp;&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)enemy.position.Y)))&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;{&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enemy.alive&amp;nbsp;=&amp;nbsp;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
My modifications:&lt;br /&gt;
&lt;div style="border:1px solid #7f9db9;overflow:auto;background-color:white;font-family:courier new;font-size:11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width:0px;border-bottom:0px solid #eeeeee;margin:2px 0px;width:99%;border-collapse:collapse;background-color:#ffffff;"&gt;
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size:11px;"&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;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;(enemy.position.X&amp;nbsp;&amp;lt;&amp;nbsp;(viewportRect.Width&amp;nbsp;-&amp;nbsp;enemy.sprite.Width))&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;{&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;(!viewportRect.Contains(&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;Point(&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)enemy.position.X&amp;nbsp;+&amp;nbsp;(&lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)enemy.sprite.Width),&amp;nbsp;&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)enemy.position.Y)))&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enemy.alive&amp;nbsp;=&amp;nbsp;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
The reason for adding the new if loop was to make sure that the enemy appeared in the window before evaluating it for reaching the other side of the screen.&amp;nbsp; The only other add was adding the width of the sprite to the x position (to use the position of the back of the enemy).&lt;br /&gt;
&lt;br /&gt;
Would love feedback if others find a better way to do this.&lt;br /&gt;</description></item><item><title>Upgrading Sample: Heightmap Collision with Normals to XNA3.1</title><link>http://forums.xna.com/forums/thread/252037.aspx</link><pubDate>Mon, 16 Nov 2009 18:07:50 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:252037</guid><dc:creator>MidNightQc</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/252037.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=252037</wfw:commentRss><description>Hi,&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;ve been playing with xna again lately. And im stuck with that problem.&lt;br /&gt;
&lt;br /&gt;
After upgrading the above sample to XNA3.1, ModelBones from the Model arent getting deserialized correctly by the ContentProcessor. Every ModelBones gets a wrong transforms (lots of NaN).&lt;br /&gt;
&lt;br /&gt;
The above sample is, by default, targetting XNA2.0. I had no problem when upgrading it to XNA3.0. &lt;br /&gt;
&lt;br /&gt;
I would like someone to shed some light on this =)&lt;br /&gt;
&lt;br /&gt;
Is there some breaking changes in ContentProcessors from 3.0 to 3.1?&lt;br /&gt;
Is there a way to fix the model (Tank.fbx) to allow xna3.1 to load it correctly?&lt;br /&gt;
&lt;br /&gt;
Thanks in advance</description></item><item><title>Normal Mapping rendering issue in ShipGame</title><link>http://forums.xna.com/forums/thread/251452.aspx</link><pubDate>Sat, 14 Nov 2009 21:14:26 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:251452</guid><dc:creator>Fuzzy Bug</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/251452.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=251452</wfw:commentRss><description>Hello&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;m trying to lift the rendering from the ship game and stick it into my own framework.&amp;nbsp; Everything works but the model renders with the wrong texture - the one I&amp;#39;m seeing is ship1_i.tga so the model comes out black with the odd blue bit.&amp;nbsp; When I build the ShipGame it&amp;#39;s fine but I can&amp;#39;t see what I&amp;#39;ve missed.&amp;nbsp; I&amp;#39;m using the same normalmapping content processor and the same normal mapping fx.&amp;nbsp; The binary files match up size wise between both versions.&amp;nbsp; Makes no difference what model I&amp;#39;m using from the shipgame either (I&amp;#39;m yet to try exporting my own out).&lt;br /&gt;
&lt;br /&gt;
When it does render the black areas look see through, the glowy blue bits come out ok and where light catches the spaceship I can see the normal mapping in action.&amp;nbsp; I&amp;#39;ve tried switching it to using the PlainRendering option but that just switches the lighting off and still renders with the wrong map.&lt;br /&gt;
&lt;br /&gt;
I realise it&amp;#39;s a tricky one but I don&amp;#39;t suppose anyone has any ideas on what would cause it?&lt;br /&gt;
&lt;br /&gt;
--edit--&lt;br /&gt;
&lt;br /&gt;
Changing the normalmapping.fx so rather than color.w = glow_intensity; it&amp;#39;s color.w = 0.5 lets me see the texture but it&amp;#39;s quite bright and glowy.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
It&amp;#39;s definitely the glow_intensity, all the maps looks fine but as soon as I set the color.w = glow_intensity it goes wrong.&amp;nbsp; I don&amp;#39;t see what bit of the sample I&amp;#39;m missing that would affect that though.&lt;br /&gt;
&lt;br /&gt;
--more edit--&lt;br /&gt;
&lt;br /&gt;
Right.&amp;nbsp; Well it seems that my render output looks like the glow texture and the results of the specular lighting. Where there&amp;#39;s no glow or specular lighting hit there&amp;#39;s nothing drawn (except the clear colour).&amp;nbsp; I&amp;#39;ve no idea why now.&amp;nbsp; I&amp;#39;ve scaled back the shipgame demo so it&amp;#39;s not doing much else other than clearing the screen and drawing a ship and what I have seems to match code wise.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;</description></item><item><title>GameStateManagementSample: How to Rotate the Model (GraphicsDeviceManager Problem)</title><link>http://forums.xna.com/forums/thread/127879.aspx</link><pubDate>Tue, 13 Jan 2009 00:30:49 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:127879</guid><dc:creator>DeadlyInstinct</dc:creator><slash:comments>2</slash:comments><comments>http://forums.xna.com/forums/thread/127879.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=127879</wfw:commentRss><description>hey guys... i was looking the whole day for an answer, but didnt find something helpfull&lt;br /&gt;
&lt;br /&gt;
my prob is:&lt;br /&gt;
i want to load and rotate a 3d modell in the gamestatemanagement sample&lt;br /&gt;
&lt;br /&gt;
hier is my code so far:&lt;br /&gt;
&lt;br /&gt;
#region File Description&lt;br /&gt;
//-----------------------------------------------------------------------------&lt;br /&gt;
// GameplayScreen.cs&lt;br /&gt;
//&lt;br /&gt;
// Microsoft XNA Community Game Platform&lt;br /&gt;
// Copyright (C) Microsoft Corporation. All rights reserved.&lt;br /&gt;
//-----------------------------------------------------------------------------&lt;br /&gt;
#endregion&lt;br /&gt;
&lt;br /&gt;
#region Using Statements&lt;br /&gt;
using System;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using Microsoft.Xna.Framework;&lt;br /&gt;
using Microsoft.Xna.Framework.Audio;&lt;br /&gt;
using Microsoft.Xna.Framework.Content;&lt;br /&gt;
using Microsoft.Xna.Framework.GamerServices;&lt;br /&gt;
using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;
using Microsoft.Xna.Framework.Input;&lt;br /&gt;
using Microsoft.Xna.Framework.Media;&lt;br /&gt;
using Microsoft.Xna.Framework.Net;&lt;br /&gt;
using Microsoft.Xna.Framework.Storage;&lt;br /&gt;
#endregion&lt;br /&gt;
&lt;br /&gt;
namespace GameStateManagement&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// This screen implements the actual game logic. It is just a&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// placeholder to get the idea across: you&amp;#39;ll probably want to&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// put some more interesting gameplay in here!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;nbsp;class GameplayScreen : GameScreen&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Fields&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContentManager content;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GraphicsDeviceManager graphics;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SpriteFont gameFont;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model myModel;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vector3 cameraPosition = new Vector3(50.0f, 25.0f, 20.0f);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float aspectRatio;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vector3 modelPosition;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float modelRotation;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Texture2D statBar, hp, mp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public float self_hp_max = 400;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public float self_mp_max = 235;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public float self_hp = 400;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public float self_mp = 235;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Random random = new Random();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Constructor.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public GameplayScreen()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransitionOnTime = TimeSpan.FromSeconds(1.5);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TransitionOffTime = TimeSpan.FromSeconds(0.5);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Load graphics content for the game.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void LoadContent()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (content == null)&lt;br /&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; content = new ContentManager(ScreenManager.Game.Services, &amp;quot;Content&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (graphics == null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&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; graphics = new GraphicsDeviceManager(ScreenManager.Game);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; statBar = content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;Interface\\StatusBar&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mp = content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;Interface\\Mana&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hp = content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;Interface\\Health&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myModel = content.Load&amp;lt;Model&amp;gt;(&amp;quot;Modelle\\Model&amp;quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gameFont = content.Load&amp;lt;SpriteFont&amp;gt;(&amp;quot;gamefont&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when i build the game it says:&lt;br /&gt;
A graphics device manager is already registered.&amp;nbsp; The graphics device manager cannot be changed once it is set.&lt;br /&gt;
</description></item><item><title>Help with using "XNA Unleased (by Chad Carter)" Input Handler</title><link>http://forums.xna.com/forums/thread/251432.aspx</link><pubDate>Sat, 14 Nov 2009 19:41:58 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:251432</guid><dc:creator>WyldFyr</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/251432.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=251432</wfw:commentRss><description>Hi, this is my first post here, and I&amp;#39;ve searched the forums abit for help with this specific problem I&amp;#39;m having, but no luck- so here goes...&lt;br /&gt;
&lt;br /&gt;
Situation: &lt;br /&gt;
I&amp;#39;m just begining at learning how to program and use XNA and I&amp;#39;ve read and built the &amp;quot;Simple Game&amp;quot; in chapter 11 of Carter&amp;#39;s book &amp;quot;XNA unleashed.  I figured for my first major challenge that it would be rewarding to use the code in that book to make a simple up-srcolling shooter.  (yes, I understand that I would need to create a bullet manager of some sorts - thats part of the challenge)  I&amp;#39;ve been reusing as much of the code from the book project as possible.  After setting up the basic game class to implement its state management, I moved on to creating my &amp;quot;player&amp;quot; class.  In the book, Chad implements the scrolling background before implementing his player class, but I wanted to make some changes to the background class first, so I figured I would add that later.&lt;br /&gt;
&lt;br /&gt;
Problem:&lt;br /&gt;
My player sprite needs to move side-to-side to aim its shots, so I added code to the player class to get the arrow key states.  The problem is it dosn&amp;#39;t work - when I set a break in my helper &amp;quot;WasPressed&amp;quot; method to see if it wil return true, it never does. Its like the input handler isn&amp;#39;t even giving it the key states within my player class at all.  To further test, I transplanter the code I wrote back into the player class of &amp;quot;SimpleGame&amp;quot; project, and it works as expected.  I&amp;#39;ve looked through my game class line by line to see if I missed something, but I cant seem to find anything amiss. Also, the code that uses the input handler in the game class works just fine - it switches between scene and start menu just as expected.&lt;br /&gt;
&lt;br /&gt;
Request:&lt;br /&gt;
Is there anyone out there familiar enough with the book and the code that they can help me figure out what I&amp;#39;m doing wrong?&lt;br /&gt;
&lt;br /&gt;
BTW: I&amp;#39;m reluctant to paste any of the code that came from the book in here because of IP issues, but here is the code (from my player class) that I have added to get the arrow key state:&lt;br /&gt;
&lt;span style="font-size:13px;color:#008000;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size:13px;"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;override&lt;/span&gt;&lt;span style="font-size:13px;"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="font-size:13px;"&gt; Update(Microsoft.Xna.Framework.&lt;/span&gt;&lt;span style="font-size:13px;color:#2b91af;"&gt;GameTime&lt;/span&gt;&lt;span style="font-size:13px;"&gt; gameTime)&lt;br /&gt;
{&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="font-size:13px;"&gt; (WasPressed(0, &lt;/span&gt;&lt;span style="font-size:13px;color:#2b91af;"&gt;Buttons&lt;/span&gt;&lt;span style="font-size:13px;"&gt;.DPadLeft, &lt;/span&gt;&lt;span style="font-size:13px;color:#2b91af;"&gt;Keys&lt;/span&gt;&lt;span style="font-size:13px;"&gt;.Left))&lt;br /&gt;
{&lt;br /&gt;
Position.X = Position.X - moveRate; &lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;else&lt;/span&gt;&lt;span style="font-size:13px;"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="font-size:13px;"&gt; (WasPressed(0, &lt;/span&gt;&lt;span style="font-size:13px;color:#2b91af;"&gt;Buttons&lt;/span&gt;&lt;span style="font-size:13px;"&gt;.DPadRight, &lt;/span&gt;&lt;span style="font-size:13px;color:#2b91af;"&gt;Keys&lt;/span&gt;&lt;span style="font-size:13px;"&gt;.Right))&lt;br /&gt;
{&lt;br /&gt;
Position.X = Position.X + moveRate;&lt;br /&gt;
}&lt;br /&gt;
...&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff;"&gt;base&lt;/span&gt;&lt;span style="font-size:13px;"&gt;.Update(gameTime);&lt;br /&gt;
}&lt;/span&gt;&lt;br /&gt;</description></item><item><title>Adding a camera and Q to WinForms Series 2: Content Loading tutorial</title><link>http://forums.xna.com/forums/thread/251314.aspx</link><pubDate>Sat, 14 Nov 2009 12:59:21 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:251314</guid><dc:creator>Aero</dc:creator><slash:comments>2</slash:comments><comments>http://forums.xna.com/forums/thread/251314.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=251314</wfw:commentRss><description>Hi all!&lt;br /&gt;
&lt;br /&gt;
I am not sure i follow how the model is compiled with msbuild in this tutorial, but my question is, could i use msbuild to batch import multiple assets put into given folders upon starting the game (instead of using a FileopenDialog).&lt;br /&gt;
&lt;br /&gt;
Also, how does this content adding using import during runtime work for the clients that plays the game ? Is it the same as adding a new model to the content,meaning that i can save the project in the editor program and other (with the xna framework installed) is able to play the game with the model i imported in the editor ?&lt;br /&gt;
&lt;br /&gt;
I am new to XNA and C# aswell so i am trying to understand why i am unable to add a update method to the ModelViewerControl.cs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Error&amp;nbsp;&amp;nbsp; &amp;nbsp;2&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#39;WinFormsContentLoading.ModelViewerControl.Update()&amp;#39;: cannot override inherited member &amp;#39;System.Windows.Forms.Control.Update()&amp;#39; because it is not marked virtual, abstract, or override&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overall the structure of this WinForm tutorial does not seems to follow a ordinary XNA framework game so is it possbile to change it from ModelViewerControl to a ordinary Game/Program.cs class somehow ?&lt;br /&gt;
&lt;br /&gt;
Anyway, i am also trying to implement a camera class from the wiki&lt;br /&gt;
&lt;a href="http://xnawiki.com/index.php?title=Easy_Camera_Movement_Class"&gt;Easy Camera Movement&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
It works partially, but since i am unable to put it in the update method i put it in the draw method/which seems to be drawn continually??). It is slow and i guess what i am doing here is actually set the view matrix for all the meshes rather than change camera position becuase some codes below this sets effect.View = view;&lt;br /&gt;
&lt;br /&gt;
I dont know if anything above makes sense just trying to understand how i can use ModelViewer in my app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border:1px solid #7f9db9;overflow:auto;background-color:white;font-family:courier new;font-size:11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width:0px;border-bottom:0px solid #eeeeee;margin:2px 0px;border-collapse:collapse;background-color:#ffffff;"&gt;
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&amp;nbsp;Vector3&amp;nbsp;eyePosition&amp;nbsp;=&amp;nbsp;modelCenter;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;eyePosition.Z&amp;nbsp;+=&amp;nbsp;modelRadius&amp;nbsp;/&amp;nbsp;2;&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;eyePosition.Y&amp;nbsp;+=&amp;nbsp;modelRadius;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Vector3&amp;nbsp;LookAt&amp;nbsp;=&amp;nbsp;Vector3.Zero;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:green;"&gt;//Call&amp;nbsp;the&amp;nbsp;Method&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;CameraMovements.Hover(eyePosition,&amp;nbsp;LookAt,&amp;nbsp;0.5f);&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 style="background-color:#f7f7f7;"&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;span style="color:green;"&gt;//Add&amp;nbsp;the&amp;nbsp;Camera&amp;nbsp;Result&amp;nbsp;to&amp;nbsp;your&amp;nbsp;existing&amp;nbsp;camera&amp;nbsp;position&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&lt;/span&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;eyePosition&amp;nbsp;+=&amp;nbsp;CameraMovements.CameraResult;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&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;LookAt&amp;nbsp;+=&amp;nbsp;CameraMovements.LookAtResult&amp;nbsp;+&amp;nbsp;CameraMovements.CameraResult;&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 style="background-color:#f7f7f7;"&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;span style="color:green;"&gt;//Update&amp;nbsp;your&amp;nbsp;View&amp;nbsp;matrix&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&lt;/span&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;Matrix&amp;nbsp;&amp;nbsp;view&amp;nbsp;=&amp;nbsp;Matrix.CreateLookAt(eyePosition,&amp;nbsp;LookAt,&amp;nbsp;Vector3.Up);&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;</description></item><item><title>2D Game tutorial debugging problem.</title><link>http://forums.xna.com/forums/thread/250785.aspx</link><pubDate>Thu, 12 Nov 2009 21:40:01 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:250785</guid><dc:creator>Seizure causing games</dc:creator><slash:comments>4</slash:comments><comments>http://forums.xna.com/forums/thread/250785.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=250785</wfw:commentRss><description>I am new to programming in general and in C# so i am sorry if this is stupid simple.&lt;br /&gt;
&lt;br /&gt;
I was doing the 2D tutorial and i get to the part were you add the background,i follow the instructions and get to the part were you click the green debug arrow and when i click it this message appears.&lt;br /&gt;
&lt;br /&gt;
VisualStudio cannot start debugging because the debug target is missing.Please build the project and retry,or set the OutputPath and AssemblyName properties appropriately to point at the correct location for the target assembly.I clicked build and tried again but the same thing happened again.&lt;br /&gt;
&lt;br /&gt;
The error window says this.&lt;br /&gt;
&lt;br /&gt;
Program does not contain a static main method suitable for an entry point.&lt;br /&gt;
&lt;br /&gt;
Can anyone tell me what i&amp;#39;ve done wrong.</description></item><item><title>Particle System : Explosion</title><link>http://forums.xna.com/forums/thread/249316.aspx</link><pubDate>Mon, 09 Nov 2009 16:31:55 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:249316</guid><dc:creator>Harsh Singh</dc:creator><slash:comments>2</slash:comments><comments>http://forums.xna.com/forums/thread/249316.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=249316</wfw:commentRss><description>hi all,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have been writing code on Explosion effect (reference: Particle system Sample). As such their is no error but on debugging I am getting an error on &amp;quot;&lt;strong&gt;texturefile&lt;/strong&gt;&amp;quot; &amp;amp; &amp;quot;&lt;strong&gt;DrawOrder&lt;/strong&gt;&amp;quot; stating &lt;span style="text-decoration:underline;"&gt;unhandle exceptions&lt;/span&gt;. Here is the Particle Sample Class: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="overflow-x:auto;overflow-y:auto;background-color:white;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-color:#7f9db9;border-right-color:#7f9db9;border-bottom-color:#7f9db9;border-left-color:#7f9db9;font-family:&amp;#39;courier new&amp;#39;;font-size:11px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="width:99%;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;border-collapse:collapse;border-bottom-style:solid;border-bottom-color:#eeeeee;background-color:#ffffff;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;"&gt;                &lt;tr&gt;            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System.Collections.Generic; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System.Linq; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System.Text; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Microsoft.Xna.Framework; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Microsoft.Xna.Framework.Graphics; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;namespace&lt;/span&gt;&lt;span style="font-size:11px;"&gt; CheckNewStuff &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;abstract&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;class&lt;/span&gt;&lt;span style="font-size:11px;"&gt; ParticleSystem : DrawableGameComponent &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;const&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; AlphaBlendDrawOrder = 100; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;const&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; AddectiveDrawOrder = 200; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Game1 game; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Texture2D texture; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Vector2 Origin; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        Particle[] particles; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; howManyEffect; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        Queue&amp;lt;Particle&amp;gt; freeParticle; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;         &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; FreeParticleCount  &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;get&lt;/span&gt;&lt;span style="font-size:11px;"&gt; { &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="font-size:11px;"&gt; freeParticle.Count; }  &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:green;"&gt;/////////////////////////////////////////////////////////////////&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:green;"&gt;//Constant to be added by SubClass&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:green;"&gt;/////////////////////////////////////////////////////////////////&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;span style="font-size:11px;"&gt; textureFileName; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minParticle; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxParticle; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minAcceleration; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxAcceleration; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minScale; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxScale; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minInitilizeSpeed; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxInitilizeSpeed; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minLifeTime; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxLifeTime; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; minRotationSpeed; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; maxRotationSpeed; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; SpriteBlendMode spriteBlendMode; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; ParticleSystem(Game1 game, &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; howManyEffect) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            : &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;(game) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.game = game; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.howManyEffect = howManyEffect; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Initialize() &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            InitilizeConstants(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            particles = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Particle[howManyEffect * maxParticle]; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            freeParticle = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Queue&amp;lt;Particle&amp;gt;(howManyEffect * maxParticle); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;for&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (&lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; i = 0; i &amp;lt; particles.Length; i++) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                particles[i] = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Particle(); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                freeParticle.Enqueue(particles[i]); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;             &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.Initialize(); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;virtual&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; InitilizeConstants() &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; LoadContent() &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            texture = game.Content.Load&amp;lt;Texture2D&amp;gt;(&lt;span style="color:blue;"&gt;&amp;quot;smoke&amp;quot;&lt;/span&gt;&lt;span style="font-size:11px;"&gt;); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            Origin.X = texture.Width / 2; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            Origin.Y = texture.Height / 2; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.LoadContent(); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; AddParticle(Vector2 where) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; numParticle = Game1.Random.Next(minParticle, maxParticle); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;for&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (&lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; i = 0; i &amp;lt; numParticle; i++) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                Particle p = freeParticle.Dequeue(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                InitilizeParticle(p, where); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;virtual&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; InitilizeParticle(Particle p, Vector2 where) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            Vector2 direction = PickRandomDirection(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; velocity = Game1.RandomBetween(minInitilizeSpeed, maxInitilizeSpeed); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; acceleration = Game1.RandomBetween(minAcceleration, maxAcceleration); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; lifeTime = Game1.RandomBetween(minLifeTime, maxLifeTime); ; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; scale = Game1.RandomBetween(minScale, maxScale); ; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; rotationSpeed = Game1.RandomBetween(minRotationSpeed, maxRotationSpeed); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            p.Initilize(where, velocity * direction, acceleration * direction,  &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                lifeTime, scale, rotationSpeed); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                 &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Vector2 PickRandomDirection() &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; angle = Game1.RandomBetween(0, MathHelper.TwoPi); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Vector2((&lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)Math.Cos(angle), (&lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)Math.Sin(angle)); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Update(GameTime gameTime) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; dt = (&lt;/span&gt;&lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt;)gameTime.ElapsedGameTime.TotalSeconds; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;foreach&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (Particle p &lt;/span&gt;&lt;span style="color:blue;"&gt;in&lt;/span&gt;&lt;span style="font-size:11px;"&gt; particles) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (p.Active) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                    p.Update(dt); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                    &lt;span style="color:blue;"&gt;if&lt;/span&gt;&lt;span style="font-size:11px;"&gt; (!p.Active) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                        freeParticle.Enqueue(p); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.Update(gameTime); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        }   &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;      &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Draw(GameTime gameTime) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            game.spriteBatch.Begin(spriteBlendMode); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;foreach&lt;/span&gt;&lt;span style="font-size:11px;"&gt;(Particle p &lt;/span&gt;&lt;span style="color:blue;"&gt;in&lt;/span&gt;&lt;span style="font-size:11px;"&gt; particles) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; normalizeLifeTime = p.TimeSinceStart / p.LifeTime; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// we want particles to fade in and fade out, so we&amp;#39;ll calculate alpha&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:green;"&gt;// to be (normalizedLifetime) * (1-normalizedLifetime). this way, when&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// normalizedLifetime is 0 or 1, alpha is 0. the maximum value is at&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:green;"&gt;// normalizedLifetime = .5, and is&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// (normalizedLifetime) * (1-normalizedLifetime)&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:green;"&gt;// (.5)                 * (1-.5)&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// .25&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:green;"&gt;// since we want the maximum alpha to be 1, not .25, we&amp;#39;ll scale the &lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// entire equation by 4.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; alpha = (normalizeLifeTime) * (1 - normalizeLifeTime) * 4; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                Color color = &lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Color(1, 1, 1, alpha); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                 &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:green;"&gt;// make particles grow as they age. they&amp;#39;ll start at 75% of their size,&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                &lt;span style="color:green;"&gt;// and increase to 100% once they&amp;#39;re finished.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                &lt;span style="color:blue;"&gt;float&lt;/span&gt;&lt;span style="font-size:11px;"&gt; scale = p.Scale * (.75f + .25f * normalizeLifeTime); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;                game.spriteBatch.Draw(texture, p.Position, &lt;span style="color:blue;"&gt;null&lt;/span&gt;&lt;span style="font-size:11px;"&gt;, color, p.Rotation, Origin,  &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;                    scale, SpriteEffects.None, 0.0f); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;  &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            game.spriteBatch.End(); &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.Draw(gameTime); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;} &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;    &lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And here is Explosion Class&lt;/div&gt;&lt;div&gt;&lt;div style="overflow-x:auto;overflow-y:auto;background-color:white;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-color:#7f9db9;border-right-color:#7f9db9;border-bottom-color:#7f9db9;border-left-color:#7f9db9;font-family:&amp;#39;courier new&amp;#39;;font-size:11px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="width:99%;margin-top:2px;margin-right:0px;margin-bottom:2px;margin-left:0px;border-collapse:collapse;border-bottom-style:solid;border-bottom-color:#eeeeee;background-color:#ffffff;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;"&gt;                &lt;tr&gt;            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System.Collections.Generic; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; System.Linq; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Microsoft.Xna.Framework; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;&lt;span style="font-size:11px;"&gt; Microsoft.Xna.Framework.Graphics; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;&lt;span style="color:blue;"&gt;namespace&lt;/span&gt;&lt;span style="font-size:11px;"&gt; CheckNewStuff &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;{ &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;    &lt;span style="color:blue;"&gt;class&lt;/span&gt;&lt;span style="font-size:11px;"&gt; ExplosionParticleSystem : ParticleSystem &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt; ExplosionParticleSystem(Game1 game, &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="font-size:11px;"&gt; howManyEffect) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            : &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;(game, howManyEffect) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; InitilizeConstants() &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            textureFileName = &lt;span style="color:blue;"&gt;&amp;quot;explosion&amp;quot;&lt;/span&gt;&lt;span style="font-size:11px;"&gt;; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            minInitilizeSpeed = 40; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            maxInitilizeSpeed = 500; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// doesn&amp;#39;t matter what these values are set to, acceleration is tweaked in&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// the override of InitializeParticle.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            minAcceleration = 0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            maxAcceleration = 0; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            minRotationSpeed = -MathHelper.PiOver4; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            maxRotationSpeed = MathHelper.PiOver4; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            minScale = 0.3f; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            maxScale = 1.0f; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            minLifeTime = 0.5f; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            maxLifeTime = 1.0f; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            minParticle = 20; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            maxParticle = 25; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;             &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            spriteBlendMode = SpriteBlendMode.Additive; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            DrawOrder = AddectiveDrawOrder; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.Initialize(); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        &lt;span style="color:blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;override&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt; InitilizeParticle(Particle p, Vector2 where) &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;        { &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:blue;"&gt;base&lt;/span&gt;&lt;span style="font-size:11px;"&gt;.InitilizeParticle(p, where); &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// The base works fine except for acceleration. Explosions move outwards,&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// then slow down and stop because of air resistance. Let&amp;#39;s change&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// acceleration so that when the particle is at max lifetime, the velocity&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// will be zero.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// We&amp;#39;ll use the equation vt = v0 + (a0 * t). (If you&amp;#39;re not familar with&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// this, it&amp;#39;s one of the basic kinematics equations for constant&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// acceleration, and basically says:&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// velocity at time t = initial velocity + acceleration * t)&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// vt = 0&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// v0 = p.Velocity&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            &lt;span style="color:green;"&gt;// p.Acceleration = ?&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;            &lt;span style="color:green;"&gt;// We&amp;#39;ll solve the equation for a0, using t = p.Lifetime and vt = 0.&lt;/span&gt;&lt;span style="font-size:11px;"&gt; &lt;/span&gt;&lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;            p.Acceleration = -p.Velocity / p.LifeTime; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;        } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt; &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt;    } &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td&gt;} &lt;/td&gt;        &lt;/tr&gt;        &lt;tr&gt;            &lt;td style="background-color:#f7f7f7;"&gt; &lt;/td&gt;        &lt;/tr&gt;    &lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Can any one please suggest whts the problem???&lt;/div&gt;</description></item><item><title>Net Rumble "Specified method is not supported"</title><link>http://forums.xna.com/forums/thread/250690.aspx</link><pubDate>Thu, 12 Nov 2009 18:13:41 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:250690</guid><dc:creator>TheHappiestPirate</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/250690.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=250690</wfw:commentRss><description>I hope this is the right forum for this--I just upgraded to Windows 7 and re-installed XNA Game Studio 3.0.&amp;nbsp; I downloaded the Net Rumble starter kit, and it is now giving me this error.&amp;nbsp; I had it running before in Vista, but am now getting this error:&lt;br /&gt;
&lt;br /&gt;
Error&amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp;&amp;nbsp; &amp;nbsp;Building content threw NotSupportedException: Specified method is not supported.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.Interop.KerningHelper.GetCharacterSpacing(Char c)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.Processors.FontDescriptionProcessor.Process(FontDescription input, ContentProcessorContext context)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.ContentProcessor`2.Microsoft.Xna.Framework.Content.Pipeline.IContentProcessor.Process(Object input, ContentProcessorContext context)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAssetWorker(BuildItem item)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.BuildAsset(BuildItem item)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.BuildCoordinator.RunTheBuild()&lt;br /&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.Xna.Framework.Content.Pipeline.Tasks.BuildContent.RemoteProxy.RunTheBuild(BuildCoordinatorSettings settings, TimestampCache timestampCache, ITaskItem[] sourceAssets, String[]&amp;amp; outputContent, String[]&amp;amp; rebuiltContent, String[]&amp;amp; intermediates, Dictionary`2&amp;amp; dependencyTimestamps, KeyValuePair`2[]&amp;amp; warnings)&amp;nbsp;&amp;nbsp; &amp;nbsp;C:\Users\George\Documents\Visual Studio 2008\Projects\NetRumbleWindows1\NetRumbleWindows1\Content\Fonts\MenuFont.spritefont&amp;nbsp;&amp;nbsp; &amp;nbsp;NetRumbleWindows1&lt;br /&gt;
&lt;br /&gt;
Any ideas?&amp;nbsp; Did I forget to install something, or does it simply not work in Windows 7?&amp;nbsp; Any help in interpreting this error would be greatly appreciated.&amp;nbsp; Thanks.&lt;br /&gt;</description></item><item><title>RPG Starter Kit: How do I make spells?</title><link>http://forums.xna.com/forums/thread/248846.aspx</link><pubDate>Sat, 07 Nov 2009 23:32:30 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:248846</guid><dc:creator>DARKazen</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/248846.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=248846</wfw:commentRss><description>With classes and characters, it was as simple as copy, paste, alter. With spells, I&amp;#39;m not understanding what writes from spell to character so certain classes learn certain spells and at what level, and such. &lt;br /&gt;
&lt;br /&gt;
If someone could even just give me what xml or cs I need to be opening to find that, that would be great.</description></item><item><title>Custom Model Class - ...Cannot find type CustomModelSample.CustomModel, CustomModelSample.</title><link>http://forums.xna.com/forums/thread/249906.aspx</link><pubDate>Tue, 10 Nov 2009 21:36:58 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:249906</guid><dc:creator>Scott Wojtowicz</dc:creator><slash:comments>1</slash:comments><comments>http://forums.xna.com/forums/thread/249906.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=249906</wfw:commentRss><description>Hi,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;m trying to implement the xna custom model class into my own project and everything appears to be setup just as it is in the actual CustomModelClass Sample, however when i do attempt to load a CustomModel i get the followed ContentLoadException:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Error loading &amp;quot;Models\Bomber\Bomber&amp;quot;. Cannot find type CustomModelSample.CustomModel, CustomModelSample.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I know it&amp;#39;s not the path to the model since if I change CustomModel to Model, it works fine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks,&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;</description></item><item><title>Chase Camera Issue</title><link>http://forums.xna.com/forums/thread/179659.aspx</link><pubDate>Mon, 18 May 2009 15:15:33 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:179659</guid><dc:creator>Wes McDermott</dc:creator><slash:comments>12</slash:comments><comments>http://forums.xna.com/forums/thread/179659.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=179659</wfw:commentRss><description>Hey, &lt;br /&gt;
&lt;br /&gt;
I have the chase camera sample working in my project. The only issue is that the camera seems to initialize pointing down on the model and then moves to back behind the model when the game starts. The weird thing is that I have the camera.reset() and UpdateCameraChaseTarget() in my initialize function. The reset function is working on the camera because if I comment it out, the camera then does move to find the chase target on game start. My issue seems more like a rotation from the top of the model to the back in an arc. &lt;br /&gt;
&lt;br /&gt;
I can&amp;#39;t figure out how to fix this. I&amp;#39;d greatly appreciate some help. &lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
Wes 
</description></item><item><title>Performance issue!!!!</title><link>http://forums.xna.com/forums/thread/249249.aspx</link><pubDate>Mon, 09 Nov 2009 11:38:40 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:249249</guid><dc:creator>kurt Degiorgio</dc:creator><slash:comments>5</slash:comments><comments>http://forums.xna.com/forums/thread/249249.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=249249</wfw:commentRss><description>&lt;br /&gt;
Hi , &lt;br /&gt;
&lt;br /&gt;
I have a big performance issue with following class&amp;nbsp; its job is to print 2d primitives on the screen (example rectangle) and then&amp;nbsp; fill it in according to the primitive type chosen on&amp;nbsp; call . it works perfasctly but the cpu usage is at 100%&amp;nbsp; when i use this class.&lt;br /&gt;
&lt;br /&gt;
now this does not make sense beacuze i have particle emitter class that genrates 1000 sprites per&amp;nbsp; 500 mili-seconds and it doesnt even effect the performance of the cpu.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;so i think i must have did something wrong with this class&lt;br /&gt;
&lt;br /&gt;
can someone take a look please ?&lt;br /&gt;
&lt;br /&gt;
thanks. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using Microsoft.Xna.Framework;&lt;br /&gt;
using Microsoft.Xna.Framework.Audio;&lt;br /&gt;
using Microsoft.Xna.Framework.Content;&lt;br /&gt;
using Microsoft.Xna.Framework.GamerServices;&lt;br /&gt;
using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;
using Microsoft.Xna.Framework.Input;&lt;br /&gt;
using Microsoft.Xna.Framework.Media;&lt;br /&gt;
using Microsoft.Xna.Framework.Net;&lt;br /&gt;
using Microsoft.Xna.Framework.Storage;&lt;br /&gt;
&lt;br /&gt;
//-----------------------------------------------------------------------&lt;br /&gt;
// CPolyline.cs &amp;nbsp;&lt;br /&gt;
//&lt;br /&gt;
// Can Draw Lines and shapes&lt;br /&gt;
//&lt;br /&gt;
// Dependenes: XNA FrameWork&lt;br /&gt;
// Copyright @ Kurt Degiorgio all rights Reserved&lt;br /&gt;
//-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
namespace Green_City.Classes.Graphics&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; class CPolyline&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private const int BufferSize = 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private bool Begin = false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int Counter= 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private VertexPositionColor[] Vertices = new VertexPositionColor[BufferSize];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private VertexDeclaration Declaredvertex;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private BasicEffect Shader;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private GraphicsDevice GraphicsCard;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private PrimitiveType type;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Constractor&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public CPolyline(GraphicsDevice GC)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GraphicsCard = GC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //tells the graphics card what are&amp;nbsp; we going to draw&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Declaredvertex = new VertexDeclaration(GraphicsCard, VertexPositionColor.VertexElements);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //handles the color of Lines to be drawn &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader = new BasicEffect(GraphicsCard, null);&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.VertexColorEnabled = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.Projection = Matrix.CreateOrthographicOffCenter(0, GraphicsCard.Viewport.Width, GraphicsCard.Viewport.Height, 0, 0, 1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //its basicly Perepers the graphics Card for drawing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Start( PrimitiveType T ) {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type = T;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Begin == true) { throw new InvalidOperationException(&amp;quot;Object Can Only begen On proccess at a Time Pls End Before Begin Again &amp;quot;); }&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GraphicsCard.VertexDeclaration = Declaredvertex;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.Begin();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.CurrentTechnique.Passes[0].Begin();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Begin = true; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //it wall a add point to draw line too &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddPoint(Vector2 vertex, Color color)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Begin == false) { throw new InvalidOperationException(&amp;quot; Plese Call Begin Method First&amp;quot;); }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vertices[Counter].Position = new Vector3(vertex, 0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vertices[Counter].Color = color;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Counter++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // handles the drawing &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void Draw()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Begin == false) { throw new InvalidOperationException(&amp;quot; Plese Call Begin Method First&amp;quot;); }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Counter == 0) { return; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GraphicsCard.DrawUserPrimitives&amp;lt;VertexPositionColor&amp;gt;(type, Vertices, 0, Counter - 1);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Counter = 0;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this is for Clean-Up &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void End()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Begin == false) { throw new InvalidOperationException(&amp;quot; Plese Call Begin Method First&amp;quot;); }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Draw();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.CurrentTechnique.Passes[0].End();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shader.End();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Begin = false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;</description></item><item><title>PROBLENS WITH THE GETTING STARTED TUTORIAL</title><link>http://forums.xna.com/forums/thread/248869.aspx</link><pubDate>Sun, 08 Nov 2009 00:38:05 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:248869</guid><dc:creator>marco aurelio lino</dc:creator><slash:comments>5</slash:comments><comments>http://forums.xna.com/forums/thread/248869.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=59&amp;PostID=248869</wfw:commentRss><description>Hello friends,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I folowed step-by-step of the getting started tutorial, but i had one problemem. When i compile my project the game is like that:&lt;br /&gt;
&lt;a href="http://img689.imageshack.us/img689/6108/problemdl.png"&gt;http://img689.imageshack.us/img689/6108/problemdl.png&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; What can i do? Is the same code of the tutorial. I need help, thank you.&lt;br /&gt;
&lt;br /&gt;
Att..&lt;br /&gt;</description></item></channel></rss>