电晕图书馆
答
我假设你的问题是“我如何制作一个连续行动的按钮直到发布?”首先为“触摸”事件添加一个侦听器。
触摸事件有几个阶段,触摸的开始和结束。因此,在侦听器函数中,使用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)
在你发布之前不会停下来,它与轻拍不同,因为轻拍必须以相当快的速度发布,并且只有当你发布时才会注册。
我想你忘了写这个问题。 – kikito 2011-05-31 10:10:02
仅供参考,在Corona SDK网站的Corona代码交换部分,这里是一些与输入相关的样本,其中包括创建屏幕模拟操纵杆的样本。 – 2011-05-31 12:25:33