Windows Phone Developer Tools CTP First Impressions

March 22, 2010

What I should have mentioned was XNA 4.0 was just a part of the download mentioned in the last post. It also allows the writing of Silverlight applications and under the Visual Studio 2010 Express Edition.

It’s been a while since I’ve used XNA in any form whatsoever, so coming into XNA 4.0 with a half-cocked memory of what was what and finding out a great deal of it “actually wasn’t” was something of an experience.

I decided to knock up a quick and dirty missile game, and the first thing that was obvious to me is that I’m almost as bad of an artist as I am a programmer hence what looks like a total lack of effort on my part :)

missilegame

The lack of orientation support for the Windows Phone 7 as of the moment is definitely an issue, meaning that you have to resort to various tricks to emulate this functionality. I look forward to that getting sorted out.

Visual Studio 2010 doesn’t seem too bad in all, although I wasn’t aware of a new feature that when you run your mouse over the left-column, it highlights the square chunk around the associated code.

Funny thing is, when you don’t realize this feature exists, just running the mouse past it darkens the block of code for a spit second, causing what seemed to me, like my monitor momentarily losing brightness and the ensuing dread of an RMA.

Drawing lines was a complete pain. Mixing the spritebatch and primitive drawing wasn’t a great idea, and also I wanted thick lines, which in XNA, isn’t really supported out of the box, so I opted for a rather hacky approach which seems okay.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void DrawLine2(Color color, float x, float y, float length, float angle, int thickness)
{
 
	spriteBatch.Draw(
		texWhitePixel, 
		new Rectangle((int)x, (int)y, (int)length, thickness), 
		new Rectangle(0, 0, 1, 1),
		color, 
		MathHelper.ToRadians(360.0f - angle),
		Vector2.Zero,
		SpriteEffects.None,
		1);
 
}

For the record, here’s a snippet for creating blank textures:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static Texture2D CreateTexture(GraphicsDevice graphics, int width, int height, Color color)
{
 
	Texture2D tex = new Texture2D(graphics, width, height);
 
	uint [] data = new uint[width * height];
 
	for (int y = 0; y < height; y++ )
	{
 
		for (int x = 0; x < width; x++)
		{
 
			data[(y * width) + x] = color.PackedValue;
 
		}
 
	}
 
	tex.SetData<uint>(data);
 
	return tex;
 
}

Hopefully I’ll make something a little more serious in time.

Leave a Reply




Bad Behavior has blocked 74 access attempts in the last 7 days.