[XNA GameStudio] Bài 4 : Lấy trạng thái chuột & bàn phím

Đăng bởi : 7/12/2014

Chào!
Hôm nay mình sẽ hướng dẫn các bạn một thao tác đơn giản mà cực kì quan trọng trong lập trình Game đó là trạng thái chuột và bàn phím

OK, vì nó khá đơn giản nên chúng ta bắt đầu luôn nhé

I. Lấy trạng thái bàn phím
Việc này sẽ luôn được thực hiện trong thủ tục Update() vì cần thao tác trong quá trình game chạy


 protected override void Update(GameTime gameTime)
        {
            // Cho phép thoát game
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // Lấy trạng thái bàn phím
            KeyboardState keyState = Keyboard.GetState();

            // Kiểm tra có đang ấn phím Enter không
            // Trả về kiểu bool (Đúng nếu đang ấn - Sai nếu không ấn)
            if (keyState.IsKeyDown(Keys.Enter))
            {
                   // Thực hiện lệnh
            }

            // Kiểm tra có đang ở trạng thái tự do không (Không ấn)
            // Ngược với IsKeyDown
            // Trả về kiểu bool 
            if (keyState.IsKeyUp(Keys.Enter))
            {
                   // Thực hiện lệnh
            }



            // Lấy một mảng phím đang ấn
            // Trong trường hợp bạn muốn làm "Hot Key" = tổ hợp phím
            Keys[] keyPressed = keyState.GetPressedKeys();

           
            base.Update(gameTime);
        }

II. Lấy trạng thái chuột
Việc này cũng sẽ luôn được thực hiện trong thủ tục Update() vì cần thao tác trong quá trình game chạy


 protected override void Update(GameTime gameTime)
        {
            // Cho phép thoát game
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // Lấy trạng thái chuột
            MouseState mouseState = Mouse.GetState();

            // Kiểm tra xem có đang ấn chuột trái không
            // Trả về kiểu "ButtonState"
            // Tương tự với RigthButton & MiddleButton
            if (mouseState.LeftButton == ButtonState.Pressed)
            {
                    // Thực hiện
            }
            
            // Lấy giá trị của "Lăn chuột"
            // Mỗi lần lăn giá trị này được công thêm 120
            // Trả về kiểu int
            int iGiaTri = mouseState.ScrollWheelValue;

            // Lấy tọa độ chuột
            int ToaDoX = mouseState.X;
            int ToaDoY = mouseState.Y;

            base.Update(gameTime);
        }

>> Các bài đăng tiếp theo : 
  • Hiển thị dòng chữ tiếng việt trong Game
  • Đưa 1 tấm ảnh vào game
  • Di chuyển 1 tấm ảnh
  • Cách làm một trái bóng (di chuyển trái, phải , nhảy)
  • Cách làm trái bóng nảy
  • Cách đưa âm thanh, nhạc nền vào game
  • Làm nhân vật cử động được (Animation)
  • Làm game đánh bóng bàn
  • .............
OK hôm nay vậy thôi....Hẹn gặp lại !

 Xin hãy để lại Comment để làm động lực mình làm các bài tiếp theo




{ 4 comments }

  1. Anonymous7/13/2014

    Đây là một comment :D
    Bài ngắn quá, 2 bài / ngày đê

    ReplyDelete
  2. Thêm 1 cmt này! :v

    ReplyDelete
  3. Đây là gì. Có đc coi là 1 cmt k :p

    ReplyDelete
  4. @@!
    Ngắn cho dễ đọc :|

    ReplyDelete

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -