在Lua中如何处理KeyPress事件?
2011-4-16 20:57:46
收藏:0
阅读:323
评论:6
能否在 Lua 中获取用户的按键响应?
例如:
while true do
if keyPress(27)==true then
print("You just pressed ESC")
end
end
原文链接 https://stackoverflow.com/questions/5689566
点赞
stackoverflow用户282658
Lua 基于极高的可移植性。因此,它只基于 ANSI C 中提供的功能及能力。(我认为唯一的例外是动态链接,这是一个非 ANSI 特性,在所有平台上都不可用,但它非常有用,所以他们将其放入了许多平台中。)
ANSI C 不提供按键功能,因此默认的 Lua 库也不提供。
话虽如此,LuaRocks 库可能会引导您找到具备此功能的库。例如,您可以在该页面中找到 ltermbox,它可能具备您所需的功能。(您可能需要删除您不需要的部分。)可能还有其他可用的库。去深挖一下吧。
如果找不到库,那么 Lua 的整个 “point” 就在于可扩展性。它是一种可扩展的扩展语言。 手动编写您自己的扩展 提供您想要的功能其实也不是很难。
2011-04-17 01:23:55
stackoverflow用户151501
在NTLua项目中有一个绑定用于获取按键信息的getkey()
。你可以从那里获取一些源代码。(它只是getch()
的包装)。
2011-04-17 01:56:13
stackoverflow用户554075
看起来你在尝试制作一个游戏。 对于2D游戏,你可能想考虑love2d。 它看起来有点奇怪,但它可以工作,相对于其他语言(如C)相对容易。
2011-12-29 02:51:01
stackoverflow用户10842808
首先,如果您使用的是我的方法,请将您使用的脚本放在本地脚本(LocalScript
)中。不这样做会导致键无法显示在控制台中(按 F9 查看控制台)。
好的,既然我们知道它在本地脚本中,这是脚本:
local player = game.Players.LocalPlayer -- 获取本地玩家
local mouse = player:GetMouse() -- 获取玩家的鼠标
mouse.KeyDown:connect(function(key) -- 获取鼠标,然后获取键盘
if key:lower() == "e" or key:upper() == "E" then -- 检查选择的键(key:lower 小写字母键,key:upper 大写字母键)
print('您按下了 e 键') -- 打印按下的键
end -- 结束 if 语句
end) -- 结束函数
如果您只想标记一个键(仅小写或仅大写),请参见以下说明:
仅小写:
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
mouse.KeyDown:connect(function(key)
if key == "e" then
print('您按下了 e 键')
end
end)
仅大写:
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
mouse.KeyDown:connect(function(key)
if key == "E" then
print('您按下了 E 键')
end
end)
或者,如果您只想一般地标记任何键,也可以这样做:
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
mouse.KeyDown:connect(function(key)
print('您按下了 '..key..' 键')
end)
我希望我已经帮助您回答了您的问题。
2018-12-28 11:35:04
stackoverflow用户21102818
如果按键(keypress)等于(29)的话,则
打印出 "hello"
结尾
2023-01-29 05:38:57
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
Not in stock Lua. Probably with an additional library.
这个 Lua 库不在库存中,可能需要额外的库。