2

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

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

如果可能,我该怎么做?我尝试了对其他对象执行的操作,并使用了 line:addEventListener("touch", something) 之类的方法,但它不起作用。

另外,是否可以为绘制的线创建某种动画?就像画线一样,几帧之后,擦掉它并画一个新的?(我说的是自动而不是通过触摸事件来绘制它)

最后,是否可以仅使用 1 条线绘制曲线?如果我要使用绘制的线条创建某种动画,我会尽量避免使用这么多线条。

4

1 回答 1

1

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

是的,根据Corona Labs API for LineObjects,方法和属性继承自DisplayObject,其中一种方法包括EventListeners。你可以这样尝试:

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

是否可以为绘制的线创建某种动画?就像画线一样,几帧之后,擦掉它并画一个新的?

再一次,是的。您可以使用表中的performWithDelay方法timer。一个例子是这样的:

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 )

是否可以仅使用 1 条线绘制曲线?

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

于 2013-04-02T12:02:37.110 回答