你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
易语言编程实现游戏手柄到键盘映射(一)
 

摘 要  手柄对于游戏来说密不可分。介绍使用易语言编程实现游戏手柄到键盘的映射,让只支持键盘操作的游戏支持手柄操作

关键词 易语言;游戏手柄;键盘;映射

 

1 引言

目前市面上有很多游戏,仅仅支持键盘和鼠标进行输入,如果用游戏手柄来玩的话,相信玩家肯定会有另一番感觉。本文将采用国产编程开发工具“易语言”实现一个游戏手柄到键盘映射程序。

 

2 易语言

易语言是一个自主开发,适合国情的汉语编程环境,是一个以汉语字、词为基于编程的、全可视化的、跨主流操作系统平台的编程工具环境;拥有简、繁汉语以及英语、日语等多语种版本;能与常用的编程语言互相调用;具有充分利用APICOMDLLOCX组件、各种主流数据库、各种实用程序等多种资源的接口和支撑工具。

易语言的整体运行效率很高,在主流的计算机上,即便是在开发环境中运行,也丝毫不会有停顿感。易语言本身的帮助功能非常强大,本文所涉及到的在开发环境中的各种操作不再详细进行叙述。

 

3 软件结构

    该映射工具主要实现两个主要的功能:(1)从手柄按钮到键盘按键的映射;(2)映射方案的管理。

3.1 手柄按钮到键盘按键的映射

该功能主要实现从手柄按钮被按下后,截获手柄的输入并模拟成键盘输入这个过程。获取手柄输入的常用的方法有两种,第一种是使用系统中DirectXDirect Input组件;第二种是使用Windows API系统函数实现。

易语言是一种非常强大、高度集成的开发工具,它集成了非常多的支持库。这当中就包含了DirectX支持库中,同时它也提供了Windows API的调用,只是使用前需要声明API函数原型,显得较为繁琐。在本程序中为了简单起见,使用DirectX作为获取游戏手柄输入的方法。实现了输入的获取,接下来就是将手柄输入模拟成键盘的输入。

模拟键盘的输入,使用的是Windows中一个名为keybd_eventAPI函数。在易语言中,keybd_event的中文名称是“模拟键盘行动_”。

该函数的C语言原型如下:

VOID keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo);

该函数共有四个参数,各参数含义如表1 

 

1

参数名

含义

bVk

被模拟的键盘键的虚拟键值

bScan

该参数保留未使用,一般都为0

dwFlags

定义函数操作的一个标志位集,例如:KEYEVENTF_KEYUP表示该键将被释放

dwExtraInfo

通常不用的一个值,一般都为0

 

3.2 按钮映射方案的管理

通常每个游戏的键盘键位设置都不一样,为了使程序具有更好的通用性,需要为不同的游戏建立不同的按钮键位映射方案,在程序运行过程中动态管理这些方案。方案的管理分为五个部分,分别是:“方案的建立”、“方案的删除”、“方案内容的修改”、“方案的加载与保存”和“方案的应用”。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089