I'm having an issue with the images in my gridview. Some of the images don't move to the correct location until I press down.
Has anyone else also encountered this type of issue?
Here is the code
local upgradesFuelImage = gfx.imagetable.new(UpgradesFuel)
local images = {
gfx.imagetable.new(UpgradesFuel),
gfx.imagetable.new(UpgradesEfficiency),
gfx.imagetable.new(UpgradesSpeed),
gfx.image.new(UpgradesBrickBreaker),
gfx.imagetable.new(UpgradesFeed),
gfx.imagetable.new(UpgradesShredder)
}
local upgradeSprites = {{"o","0"},{"0","0"},{"0","0"},{"0","0"}}
function showShopUpgrades()
clearScreen()
print("########## TEST 1 #########")
selected = true
buttons={
Button(77,226,ButtonSize.Large,"Back",true)
}
upgrades = { {"Fuel", "Fuel"}, {"Fuel", "Fuel"}, {"Fuel", "Fuel"},{"Fuel", "Fuel"}}
gridview = pd.ui.gridview.new(0, 32)
print("What is "..#upgrades)
gridview:setNumberOfRows(#upgrades)
gridview:setNumberOfColumns(2)
gridview:setCellPadding(2, 2, 2, 2)
-- gridview.backgroundImage = gfx.nineSlice.new("images/bg/gridBackground", 6, 6, 20, 20)
gridview:setContentInset(5, 5, 5, 5)
showGridView = true
print("########## TEST 2 #########")
--##### Setting Up upgrade Sprites #####
upgradeSprites[1][1] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[1][1]:setZIndex(Layers.Layer1Middle)
upgradeSprites[1][1]:add()
upgradeSprites[1][2] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[1][2]:setZIndex(Layers.Layer1Middle)
upgradeSprites[1][2]:add()
upgradeSprites[2][1] = gfx.sprite.new(upgradesBrickBreakerImage)
upgradeSprites[2][1]:setZIndex(Layers.Layer1Middle)
upgradeSprites[2][1]:add()
upgradeSprites[2][2] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[2][2]:setZIndex(Layers.Layer1Middle)
upgradeSprites[2][2]:add()
upgradeSprites[3][1] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[3][1]:setZIndex(Layers.Layer1Middle)
upgradeSprites[3][1]:moveTo(-100,0)
upgradeSprites[3][1]:add()
upgradeSprites[3][2] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[3][2]:setZIndex(Layers.Layer1Middle)
upgradeSprites[3][2]:moveTo(-100,0)
upgradeSprites[3][2]:add()
-- TEST
upgradeSprites[4][1] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[4][1]:setZIndex(Layers.Layer1Middle)
upgradeSprites[4][1]:moveTo(-100,0)
upgradeSprites[4][1]:add()
upgradeSprites[4][2] = gfx.sprite.new(upgradesFuelImage[1])
upgradeSprites[4][2]:setZIndex(Layers.Layer1Middle)
upgradeSprites[4][2]:moveTo(-100,0)
upgradeSprites[4][2]:add()
function gridview:drawCell(section, row, column, selected, x, y, width, height)
upgradeSprites[row][column]:moveTo(x + width + 100, y + (height/2) + 5)
if selected then
gfx.fillRoundRect(x, y, width, height, 4)
gfx.setImageDrawMode(gfx.kDrawModeFillWhite)
else
gfx.setImageDrawMode(gfx.kDrawModeCopy)
end
local fontHeight = gfx.getSystemFont():getHeight()
gfx.drawTextInRect(upgrades[row][column], x, y + (height/2 - fontHeight/2) + 25, width, height, nil, nil, kTextAlignment.center)
end
gridviewSprite = gfx.sprite.new()
gridviewSprite:setCenter(0, 0)
gridviewSprite:moveTo(pdEdges.Left+4, pdEdges.Top + 10)
gridviewSprite:add()
end
Here is a gif of the problem.