0

非常に簡単で、おそらく簡単な質問です...しかし、最後の30分間は困惑しました...しかし、キャンバス/画面からアイテムを削除するにはどうすればよいですか?

これがremoveSelf()で機能することは知っていますが、私の例でそれを使用する方法がよくわかりません:

display.setStatusBar( display.HiddenStatusBar )

function cat1()
    displayCategory(1)

    print( "clicked 1" ) 
end

function cat2()
    displayCategory(2)

    print( "clicked 2" ) 
end

function cat3()
    displayCategory(3)

    print( "clicked 3" ) 
end

--category display
function displayCategory(cat)

    if (cat == nil) then
        cat = 1
    end

    print( cat )

    if (cat == 1) then
        local item1 = display.newRect(100,100,100,100)
        item1:setFillColor(255,255,0)
    elseif (cat == 2) then
        local item2 = display.newRect(200,100,100,100)
        item2:setFillColor(255,0,255)
    elseif (cat == 3) then
        local item3 = display.newRect(300,100,100,100)
        item3:setFillColor(0,255,255)
    end

end

--category buttons
local catBtn1 = display.newRect(0,0,50,50)
catBtn1:setFillColor( 255,0,0 )
catBtn1:addEventListener( "tap", cat1 )

local catBtn2 = display.newRect(60,0,50,50)
catBtn2:setFillColor( 0,255,0 )
catBtn2:addEventListener( "tap", cat2 )

local catBtn3 = display.newRect(120,0,50,50)
catBtn3:setFillColor( 0,0,255 )
catBtn3:addEventListener( "tap", cat3 )

現在、ボタンをクリックするたびに、対応するアイテムがポップアップしますが、他のボタンをクリックしても消えません。どうすればそれについて行くでしょうか?

4

1 に答える 1

1

最初に、displayCategory 関数の前に、開始時にこれらの itens を作成します。次に、次のように非表示に設定します。

local item1 = display.newRect(100,100,100,100)
item1:setFillColor(255,255,0)
item1.isVisible = false

後で、適切な itens を表示または非表示に設定します。アイテム 2 の場合は、次のようになります。

item1.isVisible = false
item2.isVisible = true
item3.isVisible = false
于 2012-12-12T15:37:32.950 に答える