Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Các bước đầu về DirectX phần 9 pot
Nội dung xem thử
Mô tả chi tiết
Beginning DirectX9 Dịch bởi TransTeam diễn đàn Gamedev.VN
145
DIDFT_NOCOLLECTION tìm kiếm những đối tượng không liên quan đến một liên kết tập
trung
DIDFT_NODATA không khởi tạo dữ liệu
DIDFT_PDV tìm kiếm một điều khiển POV
DIDFT_PSHBUTTON tìm kiếm một nút nhấn
DIDFT_RELAXIS sử dụng một trục tương đối
DIDFT_TGLBUTTON tìm kiếm một nút bật tắt
DIDFT_VENDORDEFINED trả về một đối tượng của một kiểu đã xác định trước
Mục đích của hàm callback EnumObjects là thu thập thông tin về thành phần của Input
Device. Thông tin này tập hợp lại cho mỗi thiết bị được truyền tới callback như một cấu trúc
DIDEVICEOBJECTINSTANCE
BOOL CALLBACK DIEnumDeviceObjectsCallback(
LPDIDEVICEOBJECTINSTANCE lpddoi,
LPVOID pvRef
);
hàm DIEnumDeviceObjectsCallback lấy 2 tham số. Tham số thứ nhất là cấu trúc kiểu
DIDEVICEOBJECTINSTANCE mà giữ thông tin trả về liên quan đến thiết bị. Tham số thứ hai
là bất kỳ giá trị nào được truyền cho tham số pvRef của hàm EnumObjects .
Cấu trúc DIDEVICEOBJECTINSTANCE chứa đựng sự giàu có thông tin có giá trị về thiết bị.
Nó hữu ích cho việc thiết lập giới hạn của force feedback, cũng như giúp xác định các dạng riêng
biệt và chỉ số của điều khiển trên thiết bị.
Bạn có thể tìm thấy giải thích đầy đủ về cấu trúc DIDEVICEOBJECTINSTANCE trong tư liệu
của DirectInput
Khai thác Input từ bàn phím
Thu hoạch input từ bàn phím là một việc có phần nào đơn giản vì nó là một thiết bị xác lập mặc
định. Bàn phím cần có một bộ nhớ đệm chứa 256 phần tử ma trận kí tự.
Char buffer[256];
Ma trận kí tự này lưu giữ trạng thái của mỗi phím trên bàn phím. Trạng thái của một hoặc nhiều
phím có thể được lưu trong ma trận này mỗi khi biết bị bàn phím được đọc. Điều mà hầu hết các
game đều cần là Input Device có thể đọc mỗi trạng thái từ trong vòng lặp chính của game.
Trước khi bạn có thể đọc từ bàn phím, bạn cần xác định một bước quan trọng là phím nào trên
bàn phím đã nhấn. Macro KEYDOWN cung cấp dưới đây trả về TRUE hoặc FALSE dựa trên cơ sở
phím mà bạn đang kiểm tra có được nhấn hay không..
#define KEYDOWN (name, key) { name[key]& 0x80}
sau đây là ví dụ đọc từ bàn phím.
//xác định macro cần kiểm tra trạng thái cảu phím trên bàn phím.
#define KEYDOWN (name, key) { name[key]& 0x80}
Đây là bộ nhớ đệm cần thiết của bàn p hím