我如何在Corona和Lua中使用“id = tostring(i)”

时间:2018-01-15 00:51:21

标签: lua corona

我最近看到过类似的东西

if(ebasRating_Arr[i] == 0) then
        radioButton_0 = widget.newSwitch {
            left = 565,
            style = "radio",
            initialSwitchState = true,
            id = tostring(i),
            width = 60,
            height = 60,
            onPress = setEBASRating0
        }
        radioGroup:insert( radioButton_0 )

        radioButton_1 = widget.newSwitch {
            style = "radio",
            id = tostring(i),
            initialSwitchState = false,
            width = 60,
            height = 60,
            onPress = setEBASRating1
        }
        radioGroup:insert( radioButton_1 )

注意第6行和第13行中的“id = tostring(i)”。所以我正在试验这个id = tostring(i)想要找出它的含义。有人能告诉我它的真正含义吗?所以我的问题的第二部分如何在我的代码中使用id = tostring(i)之类的东西

 local madrs = display.newGroup()
local function textListener( event )

if ( event.phase == "began" ) then

elseif ( event.phase == "ended" or event.phase == "submitted" ) then
    -- Output resulting text from "defaultField"

print( event.target.text )

elseif ( event.phase == "editing" ) then
    print( event.newCharacters )
    print( event.oldText )
    print( event.startPosition )
    print( event.text )
    end
end

1 个答案:

答案 0 :(得分:2)

i 是您使用的 for 循环中的一个数字。该按钮的ID应为 string 格式,以便它被corona sdk标识为名称,用于类似scene.Example

   composer.gotoScene("level"..tostring(event.target.id),{effect="fade"});

如果按钮的id为1,上面的行将转到名为level1的场景。它不应该是整数或浮点数。它应该是一个字符串,以便corona sdk将其视为名称<场景的/ em>

我不明白你的问题或第二个代码(因为我没有学过单选按钮),但是让我分享我所知道的......说你想知道radioButton_0的id和将其转换为数字。代码如下所示

print(radioButton_0.id); --> prints a string (0) --
print(tonumber(radioButton_0.id));--> prints a number (0)

我不知道单选按钮。如果你告诉我你上面代码的动机(应用程序),我可以帮忙