在Corona中操纵线条

我使用display.newLine()在Corona中创建了一条线,感谢在线教程。 我还在学习,所以我有几个问题。

是否可以为绘制的线创建触摸事件?比如一旦我在场景中有了那条线,如果我触摸那条线,应该会发生一些事情。

如果可以的话,我该怎么做?我尝试了我会使用其他对象的方法,例如使用line:addEventListener("touch", something),但它没有起作用。

同时,是否可以为绘制的线创建某种动画?比如绘制线条,然后在几帧之后将其擦除并绘制新的线条?(我指的是自动绘制,而不是通过触摸事件绘制)

最后,是否可能只使用一条线来绘制曲线?如果我要使用绘制的线创建某种动画,我正在尝试避免使用太多线。

点赞
用户1190388
用户1190388

可以为绘制的线创建触摸事件吗?

可以,根据 Corona Labs LineObject API,该类继承自 DisplayObject,而其中一个方法是 EventListener。你可以像这样尝试:

local line = display.newLine( ... )
line:addEventListener( "tap", myFunc )

可以为绘制的线创建动画吗?

例如绘制线条,然后在几帧后将其擦除并绘制新的线条?

同样可以。你可以使用 timer 表中的 performWithDelay 方法。例如:

i, line = 30, display.newLine( 20, 50, 200, 300 )
changeText = function()
  line.x1 = 20 + (i % 80)
  line.x2 = 50 + (i % 100)
  i = i * 2
end
timer.performWithDelay( 1000, changeText )

可以只使用一条线绘制弯曲的线吗?

你需要阅读一些关于几何的知识。一条线不能弯曲。否则一个圆就不会是多边形。

2013-04-02 12:02:37