0

このボタンを押した時だけスコアが上がるようにしたいです。ただし、コードを実行しようとすると、スコアは変わりませんでした...何かアイデアはありますか? 前もって感謝します!

ここに私のコードがあります:

score = 0


local scoreNumber = display.newText(score, 200, 30, nil, 20)
scoreNumber.xScale = 1.2
scoreNumber.yScale = 1.2



local scoreText = display.newText("score:", 150, 30, nil, 20)
scoreText.xScale = 1.2
scoreText.yScale = 1.2



local buttonPressed = false

local myButton = display.newRect(50,50,100,100)

local function scoretimer(event)
if buttonPressed then

    score = score + 1
    scoreNumber.text = score
    end
end

local function buttonPressed(event)
     if event.phase == "began" then
          buttonPressed = true

     elseif event.phase == "ended" then
          buttonPressed = false
     end
     return true
 end

 myButton:addEventListener("touch", buttonPressed)

 Runtime:addEventListener("enterFrame", scoretimer)
4

1 に答える 1

1

最初に次のように宣言します。

local buttonPressed = false

最後に、関数として再度宣言します。

local function buttonPressed(event)

関数の名前を変更すると、すべてがうまくいくはずです

于 2014-07-13T22:10:10.587 に答える