2016-08-31 1 views
0

Эй, я так пытался понять это, но не повезло. У меня появилось 8 икронов, которые перетасовываются, и они должны появляться в двух строках 4. Проблема, с которой я сталкиваюсь, состоит в том, что все 8, кажется, только появляются только в верхней строке.Распространять объекты через 2 ряда, если они уже заняты - Corona SDK

Поэтому в основном это:
[1] [2] [3] [4] [5] [6] [7] [8]
[] [] [] []

, когда он должен быть этим:
[1] [2] [3] [4]
[5] [6] [7] [8]

Я понимаю его делать с тем фактом, что я позиционирующего каждый шар в Центр по оси Y, но не уверен, как бы я сделал это, чтобы, если 4 позиции заняты, перейдите к второй строке.

Cheers,

Spawn код

function spawnBase() 
shuffleOrbArray(orbList) 

for i=1, #orbList do 
    local orbName = orbList[i] 
    local posX = (i-1)*67+60 

    if orbName == "red" then 

     redPlace = display.newImageRect("Shapes/red-placeholder.png", 57,57) 
     redPlace.y = _H/2 
     redPlace.x = posX 
     redPlace.alpha = 1 
     redPlace.id = "Red"    
     orbName:insert(redPlace) 
     redPlace:addEventListener("tap", revealColor) 

    elseif orbName == "green" then 
     --create green enemy 

     greenPlace = display.newImageRect("Shapes/green-placeholder.png", 57,57) 
     greenPlace.y = _H/2 
     greenPlace.x = posX 
     greenPlace.alpha = 1 
     greenPlace.id = "Green" 
     orbName:insert(greenPlace) 
     greenPlace:addEventListener("tap", revealColor) 

     elseif orbName == "yellow" then 
     --create green enemy 
+0

Что это '_H/2'? – hjpotter92

+0

О да, простите об этом. _H/2 в основном это display.content высота, разделенная на 2. Это означает, что высота центра. –

+0

Вы можете обновить это значение для 'i> 4'. – hjpotter92

ответ

0

Попробуйте что-то вроде этого:

local cols = 4 
local orbList = { "a", "b", "c", "d", "e", "f", "g", "h" } 

for i=1, #orbList do 
    local c = (i - 1) % cols 
    local r = math.floor((i - 1)/cols) 
    print(c, r, orbList[i]) 

    local posX = c * sizeX 
    local posY = r * sizeY 
end 

Вы можете посмотреть здесь образец игры в Corona/Lua: https://github.com/estudiolune/corona-sdk/tree/master/br3ak

+0

Эй, Майкон, спасибо за помощь. Что такое значения sizeX и sizeY? –

+0

Размер @DipeshDhanji - это значения вашей сферы (ширина, высота). –

+0

Я вижу, большое спасибо за помощь –

Смежные вопросы