【问题标题】:CoronaSDK Touch EventsCoronaSDK 触摸事件
【发布时间】:2017-09-13 07:35:51
【问题描述】:

目前使用 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"

【问题讨论】:

    标签: ios lua coronasdk


    【解决方案1】:

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

    在您的代码中,您没有将在侦听器中创建的 DisplayObjects 添加到任何 GroupObject(例如 scene.view),这会产生意想不到的结果。

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

    此外,updateScore() 侦听器函数未在任何地方定义。确保 updateScore 在您将其作为参数提供给 addEventListener() 时不为零。

    【讨论】:

      猜你喜欢
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多