0

私が開発しているゲームの Odd One Out ラウンドを設計しています。ボタンが押されるたびに、onButtonEvent選択された単語が Odd One Out であるかどうかをチェックし、別の単語でボタンを更新します。

単語が更新され、各ボタンに割り当てられた値が更新されています。コンソールに出力しています。right[num] = t.value問題は、最初にボタンに割り当てられた最初の 3 つの値だけをテーブルに割り当てる場合だと思います。なぜこれが更新されていないのですか?

local function onButtonEvent( event )
    local t = event.target
    --local phase = event.phase
    if event.phase == "release" then
        --num = num + 1
        displayBtns()
        right[num] = t.value
        print(right[1])
        print(right[2])
        print(right[3])
        print(right[4])
        -- --s3 = table.concat(right)
        --print(s3)
        if right[num] == answers[num].right then
                print("correct!")
        elseif right[num] == answers[num].wrong then
                -- t.alpha = 0
                -- select.alpha = 1
                print("incorrect!")
        elseif right[num] == answers[num].wrong2 then
        else
                print("incorrect!")
        end
        num = num + 1
        num2 = num2 + 1
        s3 = ""
        -- display.remove( btn3 )
        -- btn3 = nil
        -- display.remove( btn2 )
        -- btn2 = nil
        -- display.remove( btn1 )
        -- btn1 = nil
    end
    --num = math.random(1,#t)
    s3 = ""
end
 function displayBtns()
btn3 = widget.newButton{
    default = "images/Round4_blue_button.png",
    label = answers[num].right,
    fontSize = 22,
    labelColor = { default={ 255, 250, 250}, over={ 0, 0, 0,} },
    onEvent = onButtonEvent
}
 btn3.value = answers[num].right
print(btn3.value)
 btn2 = widget.newButton{
    default = "images/Round4_blue_button.png",
    label = answers[num].wrong2,
    fontSize = 22,
    labelColor = { default={ 255, 250, 250}, over={ 0, 0, 0,} },
    onEvent = onButtonEvent
}
btn2.value = answers[num].wrong2
print(btn2.value)
 btn1 = widget.newButton{
    default = "images/Round4_blue_button.png",
    label = answers[num].wrong,
    fontSize = 22,
    labelColor = { default={ 255, 250, 250}, over={ 0, 0, 0,} },
    onEvent = onButtonEvent
}
btn1.value = answers[num].wrong
print(btn1.value)
print("----------")
  --btn3.label = answers[num].right
-- p1Button = display.newImage("images/SinglePlayer_button.png", 90, 140)
-- p2Button = display.newImage("images/2Player_button.png", 90, 220)
 -- p1Button.touch = onSceneTouch
-- p1Button:addEventListener("touch", p1Button)
 -- p2Button.touch = onSceneTouch1
-- p2Button:addEventListener("touch", p2Button)
btn1.x = 90;  btn1.y = 245
btn2.x = 240; btn2.y = 245
btn3.x = 390; btn3.y = 245
-- p2Button.x = 240; p2Button.y = 260
 end
displayBtns()
4

1 に答える 1

0

問題はおそらくここにあります:

elseif right[num] == answers[num].wrong2 then
else
    print("incorrect!")
end

elseifステートメントには何も設定されていません。

于 2013-01-18T13:02:23.893 に答える