如何处理 corona 中的拖动手势

发布于 2024-11-03 11:00:34 字数 42 浏览 1 评论 0 原文

我是 Corona 新手,想知道如何在 Corona 中创建拖动手势?

I'm new to corona, and was wondering how to create a drag gesture in corona?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

安穩 2024-11-10 11:00:34

首先使用“触摸”事件监听器而不是“点击”。只有当您抬起手指时,点击才会响应,而触摸则会在放下和拿起手指时响应。

触摸事件有单独的“开始”和“结束”阶段,您可以使用它们来获取拖动手势的开始和结束:

http://developer.anscamobile.com/reference/index/eventphase-0

另外,如果您想响应屏幕上任何位置的触摸(而不仅仅是一个对象),请添加运行时的监听器:

Runtime:addEventListener("touch", onTouch)

First off use a "touch" event listener and not "tap." Tap only responds when you lift your finger back up, but touch responds to both putting down and picking up your finger.

The touch event has separate phases for "began" and "ended" that you can use to get the beginning and end of the drag gesture:

http://developer.anscamobile.com/reference/index/eventphase-0

Also, if you want to respond to touches anywhere onscreen (rather than just on one object) then add the listener to Runtime:

Runtime:addEventListener("touch", onTouch)
我爱人 2024-11-10 11:00:34
function drawLine( event )
  if(event.phase == "ended") then
    line = display.newLine(event.xStart, event.yStart, event.x, event.y)
    line:setColor(255,0,0)
    line.width = 5
  end
end
Runtime:addEventListener("touch", drawLine)

将在拖动的开始和结束之间生成一条线。

来源:http://developer.anscamobile.com/reference/index/eventxstart

(应该询问前先搜索)

function drawLine( event )
  if(event.phase == "ended") then
    line = display.newLine(event.xStart, event.yStart, event.x, event.y)
    line:setColor(255,0,0)
    line.width = 5
  end
end
Runtime:addEventListener("touch", drawLine)

will produce a line between the start and end of the drag.

source: http://developer.anscamobile.com/reference/index/eventxstart

(should search before asking)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文