<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>"a Game Or Two" Blog</title>
	<atom:link href="http://agameortwo.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://agameortwo.wordpress.com</link>
	<description>สร้างเกมกัน[try to xna]</description>
	<lastBuildDate>Fri, 20 Mar 2009 11:00:12 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='agameortwo.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>"a Game Or Two" Blog</title>
		<link>http://agameortwo.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://agameortwo.wordpress.com/osd.xml" title="&#34;a Game Or Two&#34; Blog" />
	<atom:link rel='hub' href='http://agameortwo.wordpress.com/?pushpress=hub'/>
		<item>
		<title>รายละเอียดการวาด Sprite หมุน, เปลี่ยนสี</title>
		<link>http://agameortwo.wordpress.com/2009/03/20/%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%a7%e0%b8%b2%e0%b8%94-sprite-%e0%b8%ab%e0%b8%a1%e0%b8%b8%e0%b8%99-%e0%b9%80/</link>
		<comments>http://agameortwo.wordpress.com/2009/03/20/%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%a7%e0%b8%b2%e0%b8%94-sprite-%e0%b8%ab%e0%b8%a1%e0%b8%b8%e0%b8%99-%e0%b9%80/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 10:55:00 +0000</pubDate>
		<dc:creator>iZhT</dc:creator>
				<category><![CDATA[XNA gamedev]]></category>

		<guid isPermaLink="false">http://agameortwo.wordpress.com/?p=47</guid>
		<description><![CDATA[ตอนแรกว่าจะทำเสียงรถ บรึ้นๆ ก่อน แต่พอลองหาไฟล์เสียงไปมาก็พบว่าเสียงรถบรื้นๆนั้นทำยากกว่าที่คิด เอ่อ มาทำอย่างอื่นก่อนดีกว่า ก่อนจะมาทำอะไรๆ มาดูเมธอด Draw ของSprite ดีกว่า ลองพิมพ์ spriteBatch.Draw( ลงไป ก็จะเห็น tooltip โผล่มาละบอกว่ามีพารามืเตอร์ต้องใส่อะไรบ้าง เมธอด Draw นั้นมี overload ถึง 7 ตัวให้เลือกใช้เลยทีเดียว (overload method คือ เมธอดที่มีชื่อเหมือนกันแต่รับพารามิเตอร์ไม่เหมือนกัน) ดูพารมิเตอร์แต่ละคัวกันดีกว่า Texture2D texture แน่นอนก็รูป texture ที่เอามาวาดนั่นเอง Vector2 position ตำแหน่งวาดนั่นแล Rectangle destinationRectangle อันนี้ผมยังงงๆขอกอปมาแปลให้ฟังละกัน เหอๆ “A rectangle specifying, in screen coordinates, where the sprite will be drawn. If this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=47&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ตอนแรกว่าจะทำเสียงรถ บรึ้นๆ ก่อน แต่พอลองหาไฟล์เสียงไปมาก็พบว่าเสียงรถบรื้นๆนั้นทำยากกว่าที่คิด เอ่อ มาทำอย่างอื่นก่อนดีกว่า</p>
<p>ก่อนจะมาทำอะไรๆ มาดูเมธอด Draw ของSprite ดีกว่า ลองพิมพ์ spriteBatch.Draw( ลงไป ก็จะเห็น tooltip โผล่มาละบอกว่ามีพารามืเตอร์ต้องใส่อะไรบ้าง เมธอด Draw นั้นมี overload ถึง 7 ตัวให้เลือกใช้เลยทีเดียว (overload method คือ เมธอดที่มีชื่อเหมือนกันแต่รับพารามิเตอร์ไม่เหมือนกัน)</p>
<p>ดูพารมิเตอร์แต่ละคัวกันดีกว่า </p>
<p>Texture2D texture แน่นอนก็รูป texture ที่เอามาวาดนั่นเอง</p>
<p>Vector2 position ตำแหน่งวาดนั่นแล</p>
<p>Rectangle destinationRectangle อันนี้ผมยังงงๆขอกอปมาแปลให้ฟังละกัน เหอๆ “A rectangle specifying, in screen coordinates, where the sprite will be drawn. If this rectangle is not the same size as sourceRectangle, the sprite is scaled to fit.” แปลว่าเป็น Rectangle ที่ระบุตำแหน่งในจอ ว่าจะวาดSpriteตรงไหน ถ้าไอสี่เหลี่ยมRectangleนี้มันไม่เท่า frame ของรูปที่จะวาดมันก็จะยืดหดให้ฟิตพอดีสี่เหลี่ยมนี้ แปลซ้อนอีกทีว่า คือแทนที่จะระบุเป็นตำแหน่งวาด แต่ระบุเป็นกรอบสี่เหลี่ยมละวาดใส่กรอปนั้นไป</p>
<p>Rectangle? sourceRectangle ตรงนี้ล่ะ!!! <strong>ถ้าจะทำมันขยับก็ต้องมายุ่งกับตรงนี้</strong> ตรงนี้จะเก็บค่าว่าจะตัดภาพส่วนไหนของ texture มาวาดบ้าง เดี๋ยวค่อยตัวอย่างข้างล่างอีกที</p>
<p>Color color การใส่สี.. อืม ถ้าไม่อยากใส่สีอะไรปนลงไปก็ใส่ไป Color.white ซึ่งวาดปกติก็เป็น white นี่ล่ะ</p>
<p>float rotation นี่ไงมุมหมุน แต่ที่สำคัญคือมันรับค่าเป็น radian ไม่ใช่องศา</p>
<p>Vector2 origin จุด origin ของรูป รูปตอนแรกๆที่วาดละมันไม่มีใส่ origin ก็จะทำให้ origin อยู่ที่ 0,0 ซึ่งนั่นก็คือมุมซ้ายบนของรูป เวลาสั่งวาดรูปที่ตำแหน่ง 100,100 ของจอ มันก็เอาจุด origin นี่ล่ะ ให้ตรงกับ 100,100 ของจอ ทีนี้พอเปลี่ยนจุดนี้แล้วสั่งวาดที่เดิม ผลลัพธ์รูปก็จะไม่อยู่ที่เดิมแล้ว <strong>นอกจากนี้จุดนี้ยังเป็นจุดศูนย์กลางการหมุนอีกด้วย</strong></p>
<p>float scale ก็ลดขนาดหรือขยายรูป 1.0f คือขนาดปกติ</p>
<p>Vector2 scale คล้ายข้างบนแต่แยกแกน x กับ y ทำยืดให้มันสูงๆหรืออ้วนๆได้</p>
<p>SpriteEffects effects ถ้าจะกลับด้านก็ยุ่งกับตรงนี้ล่ะ ใส่ได้ 3 ค่า SpriteEffects.None , SpriteEffects.FlipHorizontally และ SpriteEffecft.FlipVertically แต่ละค่าก็ตามชื่อละครับ</p>
<p>float layerDepth สุดท้ายแล้ว ก๊อปมาอีกละกัน-*- “The sorting depth of the sprite, between 0 (front) and 1 (back).” ลำดับการวาดว่าจะอยู่บนหรือล่าง..</p>
<p>จบละ พารามิเตอร์ เยอะจริง แต่ก็ทำได้หลายอย่างเลย</p>
<p>เอ้าๆ จากเรื่องที่แล้วของผม มาทำรถหมุนดีกว่า</p>
<p>ตอนนี้ ตัวแปร Global ของผม(ที่อยู่ใต้ public class Game1เลย) มีดังนี้</p>
<pre class="code"><span style="color:#2b91af;">Texture2D </span>carTexture;
<span style="color:#2b91af;">Vector2 </span>carPosition;
<span style="color:#2b91af;">Vector2 </span>carVelocity;
<span style="color:#2b91af;">Vector2 </span>carOrigin;
<span style="color:blue;">float </span>carAngle;
<span style="color:blue;">float </span>carSpeed;
<span style="color:blue;">float </span>carAccel;</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>ละก็ ตรงนี้เป็นแบบนี้ละ</p>
<pre class="code"><span style="color:blue;">protected override void </span>LoadContent()
{
    spriteBatch = <span style="color:blue;">new </span>SpriteBatch(GraphicsDevice);
    carTexture = Content.Load&lt;Texture2D&gt;(<span style="color:#a31515;">&quot;car1&quot;</span>);

    Rectangle windowBounds = Window.ClientBounds;
    carPosition = <span style="color:blue;">new </span>Vector2(windowBounds.Width / 2 - carTexture.Width / 2,
                   windowBounds.Height - carTexture.Height);
    carOrigin.X = carTexture.Width / 2;
    carOrigin.Y = carTexture.Height / 2;

}</pre>
<pre class="code"><span style="color:blue;">protected override void </span>Update(GameTime gameTime)
{
    Rectangle windowBounds = Window.ClientBounds;

    KeyboardState keyboard = Keyboard.GetState();
    <span style="color:blue;">if </span>(keyboard.IsKeyDown(Keys.Left))
        carAngle -= MathHelper.ToRadians(5);
    <span style="color:blue;">if </span>(keyboard.IsKeyDown(Keys.Right))
        carAngle += MathHelper.ToRadians(5);
    <span style="color:blue;">if </span>(keyboard.IsKeyDown(Keys.Up) &amp;&amp; carSpeed &lt; 120)
        carAccel++;
    <span style="color:blue;">if </span>(keyboard.IsKeyDown(Keys.Down) &amp;&amp; carSpeed &gt; 0)
        carAccel--;

    carSpeed = carAccel * 0.01f;
    carVelocity.Y = -carSpeed * (<span style="color:blue;">float</span>)Math.Cos(carAngle);
    carVelocity.X = carSpeed * (<span style="color:blue;">float</span>)Math.Sin(carAngle);

    carPosition.X += carVelocity.X;
    carPosition.Y += carVelocity.Y;

    carPosition.X = MathHelper.Clamp(carPosition.X, 0, windowBounds.Width);
    carPosition.Y = MathHelper.Clamp(carPosition.Y, 0, windowBounds.Height - carTexture.Height);
    <span style="color:blue;">if </span>(carPosition.Y == 0)
        carPosition.Y = windowBounds.Height - carTexture.Height;
    <span style="color:blue;">base</span>.Update(gameTime);
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<pre class="code"><span style="color:blue;">protected override void </span>Draw(GameTime gameTime)
{
    GraphicsDevice.Clear(Color.CornflowerBlue);
    spriteBatch.Begin();
    spriteBatch.Draw(carTexture, carPosition, <span style="color:blue;">null</span>, Color.White, carAngle,
        carOrigin, 1.0f, SpriteEffects.None, 0f);

    spriteBatch.End();
    <span style="color:blue;">base</span>.Draw(gameTime);

}</pre>
<p>และเพื่อจะเปลี่ยนสีรถได้ ผมไปเปลี่ยนรถเป็นสีขาว จะได้เอาสีอื่นปนง่าย</p>
<p><a href="http://agameortwo.files.wordpress.com/2009/03/car2.png"><img title="car2" style="border-right:0;border-top:0;display:block;float:none;margin-left:auto;border-left:0;margin-right:auto;border-bottom:0;" height="60" alt="car2" src="http://agameortwo.files.wordpress.com/2009/03/car2-thumb.png?w=40&#038;h=60" width="40" border="0" /></a> พอเปลี่ยนเป็นงี้ก็เปลี่ยนสีรถง่ายเลย ลองเปลี่ยน Color.White เป็นสีอื่นๆ พิมพ์ไป Color. เท่านี้ก็จะขึ้นชื่อสีมาให้เลือกมากมาย</p>
<p><a href="http://agameortwo.files.wordpress.com/2009/03/carrotate.gif"><img title="car-rotate" style="border-right:0;border-top:0;display:block;float:none;margin-left:auto;border-left:0;margin-right:auto;border-bottom:0;" height="149" alt="car-rotate" src="http://agameortwo.files.wordpress.com/2009/03/carrotate-thumb.gif?w=240&#038;h=149" width="240" border="0" /></a>รถแล่นและเลี้ยวได้แล้วว</p>
<p>ชักจะยาวไปแล้ว การขยับขอต่ออันหน้าละกันครับ..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agameortwo.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agameortwo.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agameortwo.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=47&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://agameortwo.wordpress.com/2009/03/20/%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%a7%e0%b8%b2%e0%b8%94-sprite-%e0%b8%ab%e0%b8%a1%e0%b8%b8%e0%b8%99-%e0%b9%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7c41581b7a69e929004e5ad5d678e160?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iZhT</media:title>
		</media:content>

		<media:content url="http://agameortwo.files.wordpress.com/2009/03/car2-thumb.png" medium="image">
			<media:title type="html">car2</media:title>
		</media:content>

		<media:content url="http://agameortwo.files.wordpress.com/2009/03/carrotate-thumb.gif" medium="image">
			<media:title type="html">car-rotate</media:title>
		</media:content>
	</item>
		<item>
		<title>รับข้อมูลจาก keyboard สู่ XNA</title>
		<link>http://agameortwo.wordpress.com/2009/03/19/xna-%e0%b8%81%e0%b8%94%e0%b8%9b%e0%b8%b8%e0%b9%88%e0%b8%a1/</link>
		<comments>http://agameortwo.wordpress.com/2009/03/19/xna-%e0%b8%81%e0%b8%94%e0%b8%9b%e0%b8%b8%e0%b9%88%e0%b8%a1/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 17:23:30 +0000</pubDate>
		<dc:creator>iZhT</dc:creator>
				<category><![CDATA[XNA gamedev]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[thai]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://agameortwo.wordpress.com/?p=27</guid>
		<description><![CDATA[หลังจากก๊อปๆโค้ด เอาจาก post ที่แล้วก็ได้รถสีแดงนิ่งๆหนึ่งคัน ก็พอได้ไอเดียจะสร้างเกมละ เริ่มมาทำให้มันขยับซ้ายขวาดีกว่า ก่อนอื่น จากเดิมเลย มันอยู่รถซะมุมซ้ายบนนั้นเลย ย้ายให้มันเริ่มตำแหน่งดีขึ้นนิด ทีนี้จะใส่ Initialize() หรือ LoadContent() ดีล่ะ ถ้าอ่านๆดูจากไฟล์ที่มัน gen มาให้ก็จะพบนั่นล่ะ เหอๆ คือถ้าไม่ใช่เรื่องกราฟฟิกให้ใส่ไว้ที่ Initialize() ดังนั้นจะกำหนดตำแหน่งเริ่ม ก็เอาไว้ที่ LoadContent() จะได้เมธอดนี้หน้าตาใหม่เป็น protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); carTexture = Content.Load&#60;Texture2D&#62;(&#34;car1&#34;); Rectangle windowBounds = Window.ClientBounds; carPosition = new Vector2(windowBounds.Width / 2 &#8211; carTexture.Width / 2, windowBounds.Height &#8211; carTexture.Height); } [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=27&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>หลังจากก๊อปๆโค้ด เอาจาก post ที่แล้วก็ได้รถสีแดงนิ่งๆหนึ่งคัน ก็พอได้ไอเดียจะสร้างเกมละ</p>
<p>เริ่มมาทำให้มันขยับซ้ายขวาดีกว่า</p>
<p>ก่อนอื่น จากเดิมเลย มันอยู่รถซะมุมซ้ายบนนั้นเลย ย้ายให้มันเริ่มตำแหน่งดีขึ้นนิด ทีนี้จะใส่ Initialize() หรือ LoadContent() ดีล่ะ ถ้าอ่านๆดูจากไฟล์ที่มัน gen มาให้ก็จะพบนั่นล่ะ เหอๆ คือถ้าไม่ใช่เรื่องกราฟฟิกให้ใส่ไว้ที่ Initialize() ดังนั้นจะกำหนดตำแหน่งเริ่ม ก็เอาไว้ที่ LoadContent()</p>
<p>จะได้เมธอดนี้หน้าตาใหม่เป็น</p>
<blockquote><p>protected override void LoadContent()     <br />{      <br />spriteBatch = new SpriteBatch(GraphicsDevice);      <br />carTexture = Content.Load&lt;Texture2D&gt;(&quot;car1&quot;);</p>
<p>Rectangle windowBounds = Window.ClientBounds;     <br />carPosition = new Vector2(windowBounds.Width / 2 &#8211; carTexture.Width / 2,      <br />windowBounds.Height &#8211; carTexture.Height);      <br />}</p>
</blockquote>
<p>windowBounds.Width ก็จะเท่ากับค่าความกว้างของวินโด้เกม ส่วน carTexture.Width ก็ความกว้างtextureรถ สรุปว่า Rectangle และ Texture2D นั้นมี .Width .Height ให้เรียกใช้ อืม&#8230;สะดวกดีๆ (ถ้าขี้เกียจจะเรียกเมธอดนู่นนี่ เราก็กำหนดค่าไปเลยก็ได้ เช่น&#160; carPosition.X = 10 แต่มันก็จะทำให้เมื่อโปรแกรมมันใหญ่ขึ้นพอจะแก้อะไรก็รุงรังไปหมด) หมายเหตุ ถ้าถึงจุดนี้คุณยังก๊อปโค้ดอยู่ทั้งหมดก็จะไม่รุ้ว่า Visual มันฉลาดพอตัว เมื่อพิมพ์ carPosition. มันก็จะแสดงเมธอดและตัวแปรต่างๆออกมาให้ ละสำหรับคนไม่รุ้จริงๆ เวลามันโชว์อันนั้นแล้วจะกด space bar หรือ = หรือ enter มันก็จะ auto complete ให้เลย</p>
<p>F5 อีกที รถย้ายตำแหน่งละ จะเห็นว่ามันย้่ายลงมาข้างล่าง จากเดิมที่อยู่มุมซ้ายบน ซึ่งไอซ้ายบนนั้นอ่ะ คือ x = 0 และ y = 0 ครั้งแรกไม่ได้ใส่ค่าไรไปมันเลยเริ่มตรงนั้นล่ะ อยากให้ลองตั้ง carPosition.X และ carPosition.Y เป็นตัวเลขไปเลยก็ดีครับ จะได้เข้าใจว่าถ้า X = 100 อยู่ไหน และ X = -100 อยู่ไหน(-100 มันก็มองไม่เห็นอ่ะครับ เพราะมันจะอยู่ทางซ้ายนู้นน หลุดขอบจอไป)</p>
<p>ต่อเลย จะให้มันขยับซ้าย ขวา ก็ต้องไปอัพเดท carPosition แน่นอนว่าต้องทำใน เมธอดUpdate() ก่อนอื่นก็ลองก่อนเลย เพิ่มไปตรง // TODO: Add your update logic here นั่นล่ะ</p>
<blockquote><p>carPosition.Y&#8211;;</p>
</blockquote>
<p>ลองแค่นั้นล่ะ อยากเห็นมันเลื่อนก่อน 55+พอ เข้าใจไอเดียละใช่มั้ยครับ..</p>
<p>ลบไอที่ลองตะกี้ทิ้งไป มาทำไอสิ่งที่ตั้งใจจะทำดีกว่า</p>
<blockquote><p>KeyboardState keyboard = Keyboard.GetState();     <br />if (keyboard.IsKeyDown(Keys.Left))      <br />carPosition.X -= 5;</p>
<p>if (keyboard.IsKeyDown(Keys.Right))     <br />carPosition.X += 5;</p>
</blockquote>
<p>นั่น!! รับข้อมูลคีย์บอร์ดได้แล้วว ง่ายอีกละ อ่านอังกฤษออกก็พอเข้าใจว่ามันทำไรเลย</p>
<p>สุดท้ายขอปรับแต่งไรหน่อย ให้มันเป็นเกมมากขึ้นๆ ผลสุดท้ายได้มาอย่างนี้</p>
<pre class="code"><span style="color:blue;">protected override void </span>Update(<span style="color:#2b91af;">GameTime </span>gameTime)
        {
            <span style="color:#2b91af;">Rectangle </span>windowBounds = Window.ClientBounds;

            <span style="color:#2b91af;">KeyboardState </span>keyboard = <span style="color:#2b91af;">Keyboard</span>.GetState();
            <span style="color:blue;">if </span>(keyboard.IsKeyDown(<span style="color:#2b91af;">Keys</span>.Left) &amp;&amp; carPosition.X &gt; 0)
                carPosition.X -= 3;
            <span style="color:blue;">if </span>(keyboard.IsKeyDown(<span style="color:#2b91af;">Keys</span>.Right)
                &amp;&amp; carPosition.X &lt; windowBounds.Width - carTexture.Width)
                carPosition.X += 3;
            <span style="color:blue;">if </span>(keyboard.IsKeyDown(<span style="color:#2b91af;">Keys</span>.Up) &amp;&amp; carPosition.Y &gt; 0)
                carPosition.Y -= 5;
            <span style="color:blue;">if </span>(keyboard.IsKeyDown(<span style="color:#2b91af;">Keys</span>.Down)
                &amp;&amp; carPosition.Y &lt; windowBounds.Height - carTexture.Height)
                carPosition.Y ++;

            <span style="color:blue;">if</span>(carPosition.Y &lt; windowBounds.Height - carTexture.Height)
                carPosition.Y += 2;

            <span style="color:blue;">base</span>.Update(gameTime);
        }</pre>
<p><a href="http://11011.net/software/vspaste"></a><font></font></p>
<p>ก็จะได้เป็นรถที่เร่งไปข้างหน้าได้ เบรกได้ ซ้าย ขวาได้ ใส่เสียงอีกหน่อยนะได้ feel เลย</p>
<p>จบอีกเรื่อง ค่อยๆเป็น ค่อยๆไปครับ..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agameortwo.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agameortwo.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agameortwo.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=27&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://agameortwo.wordpress.com/2009/03/19/xna-%e0%b8%81%e0%b8%94%e0%b8%9b%e0%b8%b8%e0%b9%88%e0%b8%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7c41581b7a69e929004e5ad5d678e160?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iZhT</media:title>
		</media:content>
	</item>
		<item>
		<title>โปรแกรมแรก โหลดภาพใส่XNA</title>
		<link>http://agameortwo.wordpress.com/2009/03/18/%e0%b9%83%e0%b8%aa%e0%b9%88-sprite-%e0%b8%a5%e0%b8%87-xna/</link>
		<comments>http://agameortwo.wordpress.com/2009/03/18/%e0%b9%83%e0%b8%aa%e0%b9%88-sprite-%e0%b8%a5%e0%b8%87-xna/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 13:37:24 +0000</pubDate>
		<dc:creator>iZhT</dc:creator>
				<category><![CDATA[XNA gamedev]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[thai]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false">http://agameortwo.wordpress.com/?p=9</guid>
		<description><![CDATA[หลังจากติดตั้งแล้ว ก็มาลองเลย.. เนื่องจากผมก็ไม่รู้เหมือนกันว่าเริ่มไง 555+ ผมเลยหาอ่านๆเอาจากลิ้งเหล่านี้ Object-Oriented Programming for XNA XNA in a Day… Almost XNA &#8211; Simple Sample Game MSDN Your First Game: Microsoft XNA Game Studio in 2D ละจะมาขอเล่าต่อให้ฟังละกัน เย้ๆ goๆ - เปิด visual c# express - กดเมนู File &#62; New Project - เลือก XNA studio เมนูทางซ้าย ละWindows Game 3.0 เมนูทางขวา - ตั้งชื่อ Project [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=9&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>หลังจากติดตั้งแล้ว ก็มาลองเลย.. เนื่องจากผมก็ไม่รู้เหมือนกันว่าเริ่มไง 555+ ผมเลยหาอ่านๆเอาจากลิ้งเหล่านี้</p>
<p><a href="http://www.ziggyware.com/readarticle.php?article_id=224">Object-Oriented Programming for XNA</a></p>
<p class="topTitle"><a href="http://www.dwarfsoft.com/blog/2009/03/03/xna-in-a-day/">XNA in a Day… Almost</a></p>
<p class="topTitle"><a href="http://www.ziggyware.com/readarticle.php?article_id=49">XNA &#8211; Simple Sample Game</a></p>
<p class="topTitle"><a href="http://msdn.microsoft.com/en-us/library/bb203893.aspx">MSDN Your First Game: Microsoft XNA Game Studio in 2D</a></p>
<p>ละจะมาขอเล่าต่อให้ฟังละกัน<br />
เย้ๆ goๆ<br />
- เปิด visual c# express<br />
- กดเมนู File &gt; New Project<br />
- เลือก XNA studio เมนูทางซ้าย ละWindows Game 3.0 เมนูทางขวา<br />
- ตั้งชื่อ Project อยากชื่ออะไรตั้งเลยครับ<br />
- ละก็กด OK</p>
<p>เอาล่ะ อยากเห็นภาพซักภาพก่อนละ ภาพไรก็ได้เอาเบสิคๆ 2dก่อนละกัน.. ว่าแล้วก็พิมพ์กูเกิ้ลไปว่า car sprite ละได้รูปรถมาคันนึง (sprite คือภาพที่สำหรับทำเกม 2d ถ้าอยากทำเกม 2d ก็ต้องใช้พวกนี้ละครับ หาได้จาก google หรือ <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=272386">กระทู้gamedev.netนี้</a>) ส่วนผม google ได้รูปนี้มา (เวบตัวอย่างมันยานบิน ผมเอารถละกัน ฮ่าๆ)</p>
<p style="text-align:center;"><img class="alignnone size-full wp-image-16" title="car1" src="http://agameortwo.files.wordpress.com/2009/03/car1.png?w=40&#038;h=60" alt="car1" width="40" height="60" /></p>
<p style="text-align:center;">car1.png</p>
<p style="text-align:left;">add ใส่โปรเจคก่อนเลย มองทางขวาของโปรแกรม ที่ Solution explorer(ถ้าไม่มีไปหาจากเมนู view) ตรง content คลิกขวา add exiting item เลือกรูปที่จะใช้ในที่นี้คือรูปรถแดงนั่นเอง จากนั้นจะเห็นมันเพิ่มมาใน content ลองคลิกขวาดู propertie จะเห็นชื่อของมัน(asset name) คือเราสามารถเรียกใช้ด้วยชื่อนี้ได้เลย</p>
<p style="text-align:left;"><img class="size-full wp-image-17 aligncenter" title="car-asset" src="http://agameortwo.files.wordpress.com/2009/03/car-asset.gif?w=252&#038;h=366" alt="car-asset" width="252" height="366" /></p>
<p style="text-align:left;">อยากจะบอกว่าขั้นตอนต่อไปง่ายมากก</p>
<p style="text-align:left;">เพิ่ม</p>
<blockquote>
<p style="text-align:left;">Texture2D carTexture;<br />
Vector2 carPosition;</p></blockquote>
<p style="text-align:left;">ไปหลัง GraphicsDeviceManager graphics; SpriteBatch spriteBatch;</p>
<p style="text-align:left;">ละก็มาดู เมธอดInitialize()ซึ่งตามชื่อก็คือเริ่มเกมมาจะทำงานตรงนี้หนึ่งครั้งเท่านั้น</p>
<blockquote>
<p style="text-align:left;">protected override void Initialize()<br />
{<br />
Window.Title = &#8220;First XNA&#8221;;</p>
<p>graphics.PreferredBackBufferWidth = 300;<br />
graphics.PreferredBackBufferHeight = 500;</p>
<p>graphics.ApplyChanges();</p>
<p>base.Initialize();<br />
}</p></blockquote>
<p>เลข 300 500 ก็ขนาดหน้าจอนั่นล่ะ แล้วที่ต้องเพิ่มต่อไปก็..</p>
<blockquote><p>protected override void LoadContent()<br />
{<br />
spriteBatch = new SpriteBatch(GraphicsDevice);<br />
carTexture = Content.Load&lt;Texture2D&gt;(&#8220;car1&#8243;);<br />
}</p></blockquote>
<p>ข้างบนก็คือการ load ไฟล์ต่างๆมั้ง (เช่นเดียวกับ initial จะถูกเรียกครั้งแรกครั้งเดียวตอนโหลดเกม)จะเห็นว่ามี car1 ที่ใส่ไปตอนแรก</p>
<p>สุดท้ายแล้ว</p>
<blockquote><p>protected override void Draw(GameTime gameTime)<br />
{<br />
GraphicsDevice.Clear(Color.CornflowerBlue);<br />
spriteBatch.Begin();<br />
spriteBatch.Draw(carTexture, carPosition, Color.White);<br />
spriteBatch.End();<br />
base.Draw(gameTime);</p>
<p>}</p></blockquote>
<p>กด F5 รันนน ได้ละ ง่ายจังแหะ..</p>
<p style="text-align:center;"><img class="size-full wp-image-20 aligncenter" title="first-xna" src="http://agameortwo.files.wordpress.com/2009/03/first-xna.gif?w=314&#038;h=245" alt="first-xna" width="314" height="245" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agameortwo.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agameortwo.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agameortwo.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=9&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://agameortwo.wordpress.com/2009/03/18/%e0%b9%83%e0%b8%aa%e0%b9%88-sprite-%e0%b8%a5%e0%b8%87-xna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7c41581b7a69e929004e5ad5d678e160?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iZhT</media:title>
		</media:content>

		<media:content url="http://agameortwo.files.wordpress.com/2009/03/car1.png" medium="image">
			<media:title type="html">car1</media:title>
		</media:content>

		<media:content url="http://agameortwo.files.wordpress.com/2009/03/car-asset.gif" medium="image">
			<media:title type="html">car-asset</media:title>
		</media:content>

		<media:content url="http://agameortwo.files.wordpress.com/2009/03/first-xna.gif" medium="image">
			<media:title type="html">first-xna</media:title>
		</media:content>
	</item>
		<item>
		<title>เริ่มต้น โหลดและติดตั้งXNA</title>
		<link>http://agameortwo.wordpress.com/2009/03/17/%e0%b9%82%e0%b8%ab%e0%b8%a5%e0%b8%94-%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-xna/</link>
		<comments>http://agameortwo.wordpress.com/2009/03/17/%e0%b9%82%e0%b8%ab%e0%b8%a5%e0%b8%94-%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-xna/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 09:35:52 +0000</pubDate>
		<dc:creator>iZhT</dc:creator>
				<category><![CDATA[XNA gamedev]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[thai]]></category>
		<category><![CDATA[xna]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[ณ เวลาปัจจุบันนี้ ตัวผมก็ใกล้เรียนจบเต็มทีละ โปรเจคจบที่ทำเกมก็ผ่านไปอย่างน่าหวาดเสียว เหลือดอคต้องแ้ก้อีกประปราย แต่ก็ไม่หนักหนาแล้วละมั้ง โปรเจคนี้ผ่านด้วยความยากลำบาก ความพยายามที่จะทำเกม 2d โดยไม่มี tool เลย มีแต่ DirectX เพียวๆ ก็เล่นเอาสับสนไปพอควร ยอมรับว่าโค้ดมั่วมากๆ  แต่ไม่ ผมยังไม่เข็ด ยังอยากสร้างเกมอยู่ครับ แต่คราวนี้จะทำ 3d มั่งละ เอาให้หายอยากไปเลย ทำจนกว่าจะมีงานทำ ไม่ก็ตายไปข้างเลยเอ้า เลยมาเปิดๆเวบเล่นดู เจอเวบ xna มากมาย ดูๆละก้อน่าใช้อยู่ แม้จะC#ไม่เป็นก็เหอะ ว่าแล้วก็อย่ารีรอ หาโหลดไปทันที ละจะโหลดไรบ้างละ ตามนี้เลย 1. XNA Game Studio 3.0 2. Visual C# 2008 Express Edition (เค้าว่ากันว่า xna3.0 ต้องเวอร์ 2008 อืมว่าไง ก็ว่าตามนั้น) ซึ่งในเวบใีห้เลือกสองแบบ web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=1&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ณ เวลาปัจจุบันนี้ ตัวผมก็ใกล้เรียนจบเต็มทีละ โปรเจคจบที่ทำเกมก็ผ่านไปอย่างน่าหวาดเสียว เหลือดอคต้องแ้ก้อีกประปราย แต่ก็ไม่หนักหนาแล้วละมั้ง โปรเจคนี้ผ่านด้วยความยากลำบาก ความพยายามที่จะทำเกม 2d โดยไม่มี tool เลย มีแต่ DirectX เพียวๆ ก็เล่นเอาสับสนไปพอควร ยอมรับว่าโค้ดมั่วมากๆ  แต่ไม่ ผมยังไม่เข็ด ยังอยากสร้างเกมอยู่ครับ แต่คราวนี้จะทำ 3d มั่งละ เอาให้หายอยากไปเลย ทำจนกว่าจะมีงานทำ ไม่ก็ตายไปข้างเลยเอ้า เลยมาเปิดๆเวบเล่นดู เจอเวบ xna มากมาย ดูๆละก้อน่าใช้อยู่ แม้จะC#ไม่เป็นก็เหอะ ว่าแล้วก็อย่ารีรอ หาโหลดไปทันที</p>
<p>ละจะโหลดไรบ้างละ ตามนี้เลย</p>
<p>1.<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7D70D6ED-1EDD-4852-9883-9A33C0AD8FEE&amp;displaylang=en" target="_blank"> XNA Game Studio 3.0<br />
</a></p>
<p>2.<a href="http://www.microsoft.com/express/download/default.aspx" target="_blank"> Visual C# 2008 Express Edition </a>(เค้าว่ากันว่า xna3.0 ต้องเวอร์ 2008 อืมว่าไง ก็ว่าตามนั้น) ซึ่งในเวบใีห้เลือกสองแบบ web install กับ offline install แม้แบบ web install จะเลือกโหลดได้ แต่พอโหลดไปแล้วจะติดตั้งมันต้องโหลดต่ออีก และไอตรงนี้เนี่ยใช้โปรแกรมช่วยโหลดอย่าง falshget ก็ไม่ได้ อาจจะทำให้ช้า(สำหรับบางคน) ส่วนแบบ offline install เป็น image ไฟล์ 700 กว่า โหลดครั้งเดียวรู้เรื่อง ลงกี่เครื่องก็ได้เลย ก็เลือกเอาละกันครับผม</p>
<p>3. <a href="http://msdn2.microsoft.com/en-us/xna/aa937788.aspx" target="_blank">DirectX SDK<br />
</a></p>
<p>4.<span style="text-decoration:line-through;"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&amp;displaylang=en" target="_blank"> DirectX End-User Runtime updates </a></span>(คลิกเข้าไปละมันเป็น web updateอีกละ ผมไม่ลงได้ป่ะเนี่ย ปกติเล่นเกมอยู่เรื่อยๆ มันก็ลงใหม่ตลอดๆ แต่ที่เอามาเขียนตอนแรกเพราะเวบ <a href="http://creators.xna.com">creater clubของxna</a> มันมีอ่ะ)</p>
<p>//sdk = software development kit แปลว่าสำหรับผู้พัฒนา และ end-user = ผู้ใช้ธรรมดา(ผู้เล่นเกม)นั่นเองครับ</p>
<p>ตามนั้นล่ะ ตอนนี้ผู้เขียนก็โหลดอยู่ครับ ฮึ่บๆ</p>
<p><em>หมายเหตุลิ้งนี้ เขียนเมื่อ 18 มีนา 2552 ถ้าเข้ามาหลังจากนี้โปรดตรวจสอบเวอร์ชั่นใหม่ๆด้วยครับ</em></p>
<p>ว่าจะจบตรงนั้น แต่ไม่เอาดีกว่า ยังขยันอยู่ครั้งแรกวันนี้ 555+</p>
<p>ไหนๆก็ไหนละ เห็นพวกเว็บสอนเขียนเกมชอบสอนพวกนี้ อยากเขียนมั่งเอาซักหน่อยละกัน</p>
<p>ไอxnaที่ผมว่าเนี่ยมันเป็นframework ละผมจะเอา C# เขียนบน visual ซึ่งถ้าคุณเป็นเด็กน้อยๆละอุตส่าห์หลงมาที่นี่ได้(ดีใจอ่ะ ตอนเด็กๆผมก็หลงๆไปตามเวบเขียนเกมเหมือนกันอ่านไม่รุ้เรื่องเลย อิอิ) แล้วยังไม่มีพื้นฐานโปรแกรมอะไรเลย ไม่เคยเขียนโปรแกรม แต่มีไอเดีย อยากจะบอกความจริงอันโหดร้ายครับว่าไม่มีใครสนไอเดียนั้นหรอกครับT-T ถ้าอยากได้ต้องทำเองล่ะ แล้วจะทำเองยังไงล่ะ เริ่มแรกก็หัดเขียนโปรแกรมก่อนเลย ไปร้านหนังสือแถวบ้าน ซื้อเริ่มต้นกะภาษา๋Java หรือ C มาก็ได้ละก็อ่าน ละทำ แรกมันดูจะห่างไกลจากทำเกมเหลือเกิน ก็ต้องยอมศึกษาไปละครับ หรือไม่งั้นลอง rpg maker <a href="http://rpgmaker.thaiware.com/">ดูที่นี่</a> หรือ <a href="http://http://www.thaigaming.com/game-maker-and-rpg-maker-community/" target="_blank">นี่</a> ไรงี้ไปก่อนก็ได้นะ ตัวผมไม่เคยลองจริงจัง แต่ก็คิดว่าน่าจะง่ายกว่าและเร็วกว่าล่ะ</p>
<p>สุดท้าย ผู้เขียนบลอกนี้ไม่เคยจับ C# มาก่อนเลยครับ เคยแต่ Java ละก็ C++นิดๆ  ใครไม่เป็นก็มามั่วพร้อมผมได้เลย555 ก็อยากมีที่ระบายด้วยล่ะที่เขียนบลอกนี้ -*- ใครเป็นอยู่ละอ่านบลอกนี้อาจหงุดหงิดนิด ของอภัยครับ..</p>
<p>ต่อไปก็มาดูกันละกันว่าผมจะไปได้ซักกี่น้ำ555+ ซะงั้นล่ะ</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>edit ณ วันถัดมา : โหลดเสร็จแล้ว มาลงเลยดีกว่า ไม่ต้องเปลือง Post ใหม่</p>
<p>ผมโหลดตัว offline install มา พอได้ละก็ mount (ใครไม่เป็น google ดูครับ) ละเลือก c# กด nextๆ รอๆ จบไปอัน</p>
<p>ลง directX sdk  กด nextๆ เสร็จไปอีกหนึ่ง</p>
<p>end &#8211; user runtime ไม่ลงล่ะweb install ช้าไม่ชอบ</p>
<p>ข้ามไป xna เลย กด nextๆ acceptๆ มีถามไร firewall ด้วยว่าจะให้ต่อ xbox360 ได้มั้ย(มีที่ไหนเล่า- -) ยังไม่รุ้เรื่อง ก็ยอมๆติ๊กๆไป ละก็รอๆ นานจริงๆ-*- &#8230;&#8230;..     ในที่สุดก็เสร็จ</p>
<p>จบละ ลองกดเปิด visual ดูเห็นโปรแกรมสีเขียว เอาล่ะ ไปขั้นต่อไปกัน</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/agameortwo.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/agameortwo.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/agameortwo.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=agameortwo.wordpress.com&amp;blog=6994894&amp;post=1&amp;subd=agameortwo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://agameortwo.wordpress.com/2009/03/17/%e0%b9%82%e0%b8%ab%e0%b8%a5%e0%b8%94-%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-xna/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7c41581b7a69e929004e5ad5d678e160?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iZhT</media:title>
		</media:content>
	</item>
	</channel>
</rss>
