电晕图书馆

问题描述:

我想添加按钮,直到我停止按下它,它会继续执行其功能。电晕图书馆

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

+1

我想你忘了写这个问题。 – kikito 2011-05-31 10:10:02

+0

仅供参考,在Corona SDK网站的Corona代码交换部分,这里是一些与输入相关的样本,其中包括创建屏幕模拟操纵杆的样本。 – 2011-05-31 12:25:33

我假设你的问题是“我如何制作一个连续行动的按钮直到发布?”首先为“触摸”事件添加一个侦听器。

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

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

现在在doSomething函数中移动Mario。

以上的,因为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) 

在你发布之前不会停下来,它与轻拍不同,因为轻拍必须以相当快的速度发布,并且只有当你发布时才会注册。