【问题标题】:Randomly choose objects and change colour of object chosen随机选择对象并更改所选对象的颜色
【发布时间】:2015-06-19 23:41:18
【问题描述】:

我有 4 个当前为黑色的圆圈 {'c1','c2','c3','c4'}。我正在尝试对其进行设置,以便选择其中一个圆圈,并且它的颜色从黑色变为红色。我设法让它在圈子列表中打印出一个随机实体。但我不能让它改变随机选择的圆圈的颜色。抱歉,我对此还是很陌生。

local composer = require( "composer" )
local scene = composer.newScene()

-- "scene:create()"
function scene:create( event )

    local sceneGroup = self.view

    local backgroundimg = display.newRect( 0,0,576,320 )
    backgroundimg.x = display.contentWidth*0.5
    backgroundimg.y = display.contentHeight*0.5
    sceneGroup:insert( backgroundimg )

    local pause = display.newImage( "image/pauseBTN.png" )
    pause.x = 508
    pause.y = 20
    sceneGroup:insert( pause )


    circle = {'c1','c2','c3','c4'}


    local function choice ( event )
        randCircle = circle[ math.random( #circle ) ]
        print(randCircle)
    end

    timer.performWithDelay( 3000, choice, 0 )

    local function tapListener( event )

    end

    c1 = display.newCircle( 75,100,75 )
    c1:setFillColor( 0,0,0 )
    sceneGroup:insert( c1 )
    c1:addEventListener( "tap", tapListener )

    c2 = display.newCircle( 300,100,75 )
    c2:setFillColor(0,0,0)
    sceneGroup:insert( c2 )
    c2:addEventListener( "tap", tapListener )

    c3 = display.newCircle( 187.5,225,75 )
    c3:setFillColor(0,0,0)
    sceneGroup:insert( c3 )
    c3:addEventListener( "tap", tapListener )

    c4 = display.newCircle( 412.5,225,75 )
    c4:setFillColor(0,0,0)
    sceneGroup:insert( c4 )
    c4:addEventListener( "tap", tapListener )

end


-- "scene:show()"
function scene:show( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then

    elseif ( phase == "did" ) then

    end
end


-- "scene:hide()"
function scene:hide( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then

    elseif ( phase == "did" ) then

    end
end


-- "scene:destroy()"
function scene:destroy( event )

    local sceneGroup = self.view

end


-- Listener setup
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )

return scene

【问题讨论】:

    标签: list function lua coronasdk


    【解决方案1】:

    您需要实际的对象,而不是字符串:

    circle = {c1, c2, c3 ,c4}
    

    这行应该在圈子创建后执行。

    在定义choice之前,添加

    local circle
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多