http://www.qizhu.cc

新开传奇网站专区

您现在所在的位置主页 > PK心得 >

意见 - 我从未在第一次尝试时离开

作者:新开传奇网站 来自:http://www.qizhu.cc 时间:2019-06-13 13:01
文章导读: [在此重印的#altdevblogaday-opinion文章中,Fishing Cactus开发人员Fabrice Lete为第一人称射击游戏开发人员提供了一个简单的提示,让比利时和法国游戏玩家更容易立即播放他们的游戏。] 法国和比利时的PC游戏玩家习惯于以下程序: 开始玩一个全新的游戏。
[在此重印的#altdevblogaday-opinion文章中,Fishing Cactus开发人员Fabrice Lete为第一人称射击游戏开发人员提供了一个简单的提示,让比利时和法国游戏玩家更容易立即播放他们的游戏。]

法国和比利时的PC游戏玩家习惯于以下程序:
开始玩一个全新的游戏。向右移动并向后移动.Curse。进入选项屏幕。恢复播放。关于每个游戏使用WASD控制方案(每个第一人称射击游戏?基本上)迫使我们重新映射关键任务。快速浏览我的笔记本电脑键盘的特写将向您显示问题的根源:与QWERTY键盘相比,AZERTY键盘有几个字母交换。



差异并不大,只有三个字母的位置不同(A,Z,M),但不幸的是其中有两个正好处于现代PC游戏最标准的键盘控制方案中。

你应该关心吗?老实说,可能不是。只要你的游戏允许玩家重新定义他们的钥匙,我们的青蛙和蜗牛食者通常只需要稍微调整一下即可享受游戏。但话虽如此,在默认映射中正确处理此问题也不是那么复杂。

键盘发送给PC的是密钥代,这些代是“与字符无关”的。它们直接代表键的物理位置。分配源代的标准方法源自IBM PC XT:扫描代集1.进一步的增强能被命名为扫描代集2和扫描代集3.

如今,大多数键盘使用扫描集2将数据发送到计算机,但是在接收时代被转换回扫描集1(历史上由于向后兼容问题)。因此,在Windows上处理扫描代的所有内容都可以采用扫描代集1编号方案。

根据扫描代和键盘布局,Windows将按键转换为虚拟键代。这就是物理位置丢失的地方。您不能假设左上角的键标记为A,您必须返回扫描。

WASD密钥的扫描集1代为:17,30,31,32(按此顺序)。注意ASD的值是如何连续的。要获得大多数API所需的虚拟密钥代,您只需调用这些函数:
 forward = MapVirtualKey(0x11,MAPVK_VSC_TO_VK

);
strafe_left = MapVirtualKey(0x1E,MAPVK_VSC_TO_VK);
backward = MapVirtualKey(0x1F,MAPVK_VSC_TO_VK);
strafe_right = MapVirtualKey(0x20,MAPVK_VSC_TO_VK); 只有四行代才能让数百万人开心,这不是很好吗?

别忘了查看Keith Judge关于PC游戏输入处理的文章:http://altdevblogaday.com/2011/04/25/input-for-modern-pc-games/

这里有一些补充信息:
http://msdn.microsoft.com/en-us/library/ms646306(v=vs.85).aspxhttp://www.georgehernandez.com/h/xComputers/CharacterSets/ScanCodes.asphttp://www.win .tue.nl /?AEB / LINUX / KBD /扫描-10.htmlhttp://www.computer-engineering.org/ps2keyboard/http://msdn.microsoft.com/en-us/goglobal/bb964651.aspxhttp: //seit.unsw.adfa.edu.au/staff/sites/hrp/personal/Sanskrit-External/Unicode-KbdsonWindows.pdfhttp://babbage.cs.qc.edu/courses/cs345/Manuals/ms_scancode.pdf*不久之前,在开始新游戏之后,我尝试向左移动,但是我无意中击中了快捷方式,摧毁了唯一可以让我在游戏中前进的项目。重新映射键盘后,我毫无意义地走了10分钟,试图找出我应该做的事情?

[这篇文章转载自 #AltD

evBlogADay,这是一个由@mike_acton发起的共享博客计划,致力于为所有学科的游戏开发者提供一个激励彼此定期撰写个人游戏开发的地方]

上一篇:美国游戏产业销售额增长21%

下一篇:清理电子竞技市场