另一个新手查询。现在是我与Corona合作的第三天。
以下代码可以正常工作:气球会产生并漂浮在空中。现在我想使用:addEventListener(" tap",pushBalloon)使它成为当点击气球时执行pushBalloon。谁能告诉我我会使用什么变量以及如何定义它?而且我想我也必须为新变量更改pushBalloon函数。
谢谢。
class BaseClass { /* static constructor here */ }
class BaseClass<T> : BaseClass { /* other stuff */ }
答案 0 :(得分:1)
您正在将newBalloon
对象添加到表中,但是您应该在实例化时为每个newBalloon
DisplayObject添加事件侦听器。这并没有完全按照你在标题中提出的要求(简单地将对象插入表中会有效地向该对象添加事件监听器),但是实现了我认为你正在寻找的事件响应。
如果您点击气球,则会将监听器放在气球上。如果您使用“点击”事件,target
属性会告诉您触摸了哪个对象,因此您的pushBalloon()
功能适用于任何气球。
local pushBalloon( event )
local balloon = event.target
if event.phase == "began"
-- do something to the balloon object (apply impulse, etc.)
end
end
local function createBalloon()
...
local newBalloon = display.newImageRect( ... )
if newBalloon then
-- set properties of DisplayObject and add event listener
newBallon:addEventListener( "tap", pushBalloon )
end
...
end
我已将检查中的addEventListener()
打包,以确保newBalloon ~= nil
。