CoronaSDK触摸事件

时间:2017-04-17 16:45:19

标签: ios lua corona

目前使用Corona SDK创建游戏可能会有一个图像,当它被点击时它显示3个图像,一旦它们点击3个图像,分数增加1.此外我只是编码的初学者,这是给我一种新语言。感谢。

local CButton = display.newImage("+5.jpg" , 100 , 600)
CButton.alpha = 0.5
CButton.name = "CButton"

local CButtonLabel = display.newText( { text = "", x = 0, y = 0, fontSize = 28 } )
CButtonLabel:setTextColor( 0 ) ; CButtonLabel.x = 100 ; CButtonLabel.y = 45

local function touchCListener( event )

local object = event.target
print( event.target.name.." TOUCH on the '"..event.phase.."' Phase!" )

local ChordCOne = display.newImage("+5.jpg", 900,300)

local ChordCTwo = display.newImage("+5.jpg", 1000,300)

local ChordCThree = display.newImage("+5.jpg", 1100,300)


end


--add "touch" listener -- LABEL IS FOR TESTING!

CButton:addEventListener( "touch", touchCListener)

ChordCOne:addEventListener( "touch", updateScore)

CButtonLabel.text = "touch"

1 个答案:

答案 0 :(得分:0)

是的,可以在侦听器函数中创建新的DisplayObject,并且还可以将侦听器添加到这些对象中。

在您的代码中,您尚未将侦听器中创建的DisplayObject添加到任何GroupObject(例如scene.view),这会产生意外结果。

由于指向新创建的DisplayObjects(ChordCOne等)的变量对于它们被实例化的函数是local,因此您无法在函数外部调用它们addEventListener()。您应该在创建监听器时添加它。

此外,updateScore()侦听器功能未在任何地方定义。确保updateScoreaddEventListener()作为参数的任何时间和地点都不为零。