【问题标题】:Corona libraries电晕图书馆
【发布时间】:2011-05-30 10:06:38
【问题描述】:

我想添加按钮,直到我停止按下它们,它才会继续发挥其功能。

例如,在马里奥游戏中,一旦我们开始按下前进按钮,它将继续移动马里奥,直到我们离开该按钮,我们不必一次又一次地按下来移动。

【问题讨论】:

  • 我想你忘记写问题了。
  • 仅供参考,在 Corona SDK 站点的 Corona 代码交换部分,有一些与输入相关的示例,包括创建屏幕模拟操纵杆的示例。

标签: mobile lua coronasdk


【解决方案1】:

由于 enterFrame 侦听器,上述内容将始终运行,您正在寻找的内容将更像这样......

    local function moveLeft(event)
    if event.phase=="began" then
    character.x=character.x+1
    elseif event.phase="ended" then
    --do Nothing it wont move anymore anyways
    end
    end

local leftbutton=display.newImage("bla bla bla.png")

leftButton:addEventListener("touch",moveLeft)

当您使用触摸事件时,无论您告诉它做什么,它都不会停止,直到您释放,它与点击不同,因为在点击时您必须以相当快的速度释放,并且事件仅在您释放时注册。

【讨论】:

    【解决方案2】:

    我假设您的问题是“我如何制作一个在释放之前持续作用的按钮?”首先为“触摸”事件添加一个监听器。

    触摸事件有几个阶段,用于触摸的开始和结束。所以在监听函数中使用 if/else 来响应不同的阶段。

    if event.phase=="began" then
      Runtime.addEventListener("enterFrame", doSomething)
    elseif event.phase=="ended" then
      Runtime.removeEventListener("enterFrame", doSomething)
    

    现在在 doSomething 函数中移动马里奥。

    【讨论】:

      猜你喜欢
      • 2016-02-05
      • 1970-01-01
      • 2022-07-20
      • 2015-05-27
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      相关资源
      最近更新 更多