ExitGame by Keyboard

posted on 11 Oct 2008 21:08 by ninetales in XNA

ใส่ Code เข้าไปในส่วนของ Update ดังนี้

        protected override void Update(GameTime gameTime)
        {
            if(Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            base.Update(gameTime);
        }

ลอง Runดู จะสามารถกด ESC เพื่อออกเกมได้
จะเห็นว่า Code จะค่อนข้างคล้ายของ GamePad

 Keyboard.GetState() เช็ค State ของ Keyboard ไม่จำเป็นต้องใส่ PlayerIndex เหมือนของ GamePad
ก็เครื่องปกติต่อ Keyboard อยู่อันเดียว จะมีไปทำไม = =;
ในเกมเครื่อง Console ปกติจะทำให้ต่อ GamePad หรือ JoyStick ได้ ตั้งแต่ 2 ตัวขึ้นไปการเล่นเกมโดย GamePad จึงมี Player
ส่วนเกมใน PC ที่ปกติมี Keyboard1 Mouse1 จึงนิยมเล่น Multiplayer แบบ 1คน:1เครื่อง มากกว่า

ลองใส่ Player ดูก็ไม่เสียหายอะไร
if(Keyboard.GetState(PlayerIndex.One).IsKeyDown(Keys.Escape))
if(Keyboard.GetState(PlayerIndex.Two).IsKeyDown(Keys.Escape))
if(Keyboard.GetState(PlayerIndex.Three).IsKeyDown(Keys.Escape))
if(Keyboard.GetState(PlayerIndex.Four).IsKeyDown(Keys.Escape))
กด ESC อย่างไงก็ยังออกเกมได้เหมือนเดิม
เพราะฉะนั้นอย่าใส่มันดีกว่า
(ใครค้นพบประโยชน์ของการใส่ Player ให้ Keyboard เมื่อใหร่ ช่วยบอกผมด้วยนะครับ)

.IsKeyDown( ) คือ เช็คว่า ปุ่มถูก กดไว้อยู่ รึเปล่า นอกจากนี้ยังมี
.IsKeyUp( ) คือ เช็คว่า ปุ่มถูกปล่อยอยู่รึเปล่า

(Keys.ปุ่มที่จะเช็ค)มีให้กดได้สารพัดปุ่ม ระดับที่ว่า เช็คปุ่มเพิ่มเสียง ลดเสียงบน Keyboard ได้ทีเดียว
ถึงแม้มันจะไม่ช่วยให้ Keyboard ของ Microsoft ขายดีขึ้นก็ตาม

ยังมีต่อ...

edit @ 13 Oct 2008 16:42:00 by 『Ninetales』

Comment

Comment:

Tweet

『Ninetales』 View my profile