【问题标题】:Row touched gotoScene with id name "Corona SDK"Row 使用 id 名称“Corona SDK”触及 gotoScene
【发布时间】:2014-10-31 15:41:07
【问题描述】:

我正试图在行触摸时进入一个新场景。我希望被触摸的行以与 id 名称相同的文件名进入场景。我希望这不会太混乱。问题出在函数 rowtouch 中。这是我的代码。提前谢谢你。

            local hike = {}
hike[1] = { name="Bell Canyon",    difficulty="Easy" }
hike[2] = { name="Donut Falls",  difficulty="Easy" }
hike[3] = { name="Hidden Peak",   difficulty="Medium" }
hike[4] = { name="Dog Lake",   difficulty="Easy" }
hike[5] = { name="Mary, Martha", difficulty="Easy" }
hike[6] = { name="Catherine",  difficulty="Easy" }

function scene:create( event )
    local sceneGroup = self.view

        local function onRowRender( event )

local row = event.row
   local id = row.index


   row.nameText = display.newText( hike[id].name, 12, 0, native.systemFont, 45 )
   row.nameText.anchorX = 0
   row.nameText.anchorY = 0.5
   row.nameText:setFillColor( 0 )
   row.nameText.y = 50
   row.nameText.x = 25

   row.difficultyText = display.newText( hike[id].difficulty, 12, 0, native.systemFont, 24 )
   row.difficultyText.anchorX = 0
   row.difficultyText.anchorY = 0.5
   row.difficultyText:setFillColor( 0.5 )
   row.difficultyText.y = 110
   row.difficultyText.x = 25


   row.arrow = display.newText( ">", 12, 0, native.systemFont, 35 )
   row.arrow.anchorX = 0
   row.arrow.anchorY = 0.5
   row.arrow:setFillColor( .5 )
   row.arrow.y = 110
   row.arrow.x = display.contentWidth - 50




   row:insert( row.nameText )
   row:insert( row.difficultyText )
   row:insert( row.arrow )
   return true
end



function RowTouch( event )
if event.phase == "release" then
    composer.gotoScene( event.target.hike[id].name )
    end 
end



 myTable = widget.newTableView
    {
        width = display.contentWidth, 
        height = display.contentHeight,
        backgroundColor = { .47, .66, .53 },
        topPadding = 0,
        hideBackground = false,
        onRowRender = onRowRender,
        onRowTouch = RowTouch,
        noLines = true,
    }



    for i=1, #hike do
        myTable:insertRow{
        rowHeight = 220,
        isCategory = false,
        lineColor = { .47, .66, .53 }
        }
    end
end

【问题讨论】:

  • 请描述您当前得到的不良影响或包含错误。

标签: android ios lua tableview coronasdk


【解决方案1】:

试着写

composer.gotoScene( hike[event.target.index].name );

远足名称中包含空格和逗号,不是最佳文件名。

【讨论】:

    【解决方案2】:

    您可能应该在“远足”表中添加一个额外的字段:

    hike[1] = { name="Bell Canyon",    difficulty="Easy",  sceneName="bellcanyon" }
    

    然后

    composer.gotoScene( hike[event.target.index].sceneName )
    

    这样你就可以有一个供人类阅读的显示名称和一个专用于作曲家场景的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2013-04-01
      • 2012-02-26
      • 1970-01-01
      相关资源
      最近更新 更多