触摸长按事件在Corona SDK中的应用
我想知道如何检查用户是否触摸了屏幕,但保持触摸并且没有移动。如果您有任何可以帮助我的东西,请告诉我。我一直在寻找解决方法,但还没有找到适合的。
你可以使用/修改这个代码(这是 Rob Miracle 的建议):
local holding = false local function enterFrameListener() if holding then -- 按住按钮 -- 代码在这里 -- 代码在这里 -- 代码在这里 else -- 未按住 -- 代码在这里 -- 代码在这里 -- 代码在这里 end end
local function touchHandler( event ) if event.phase == "began" then display.getCurrentStage():setFocus( event.target ) event.target.isFocus = true Runtime:addEventListener( "enterFrame", enterFrameListener ) holding = true elseif event.target.isFocus then if event.phase == "moved" then elseif event.phase == "ended" then holding = false Runtime:removeEventListener( "enterFrame", enterFrameListener ) display.getCurrentStage():setFocus( nil ) event.target.isFocus = false end end return true end
```
我相信 touchHandler 方法很明显是做什么的 ^^
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在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中获取用户配置主目录的跨平台方法
你需要为覆盖整个屏幕的对象或运行时系统添加一个触摸监听器。
请参阅此指南:http://docs.coronalabs.com/guide/events/detectEvents/index.html#hit
现在,这些触摸事件有三个 “阶段”。当触摸开始时,你会得到一个 “began” 阶段;当人们移动手指时,你会得到一个 “moved” 阶段;当他们停止触摸时,会有一个 “ended” 阶段。
根据你要做的事情,如果你想在按下按钮时移动某物体,你可以设置一个标志:
if event.phase == "began" then pressed = true elseif event.phase == "ended" then pressed = false end然后无论你在哪里移动,你都可以检查是否按下了按钮来移动。