Создать объект с таблицей массива - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сделать несколько панельных объектов на форме в Cheat Engine, используя скрипт CE Lua.Как это сделать правильно?.

  local bricks = {}
  local brickWidth = 70
  local brickHeight = 25
  local brickRows  = 6
  local brickColumns  = 6

  local rleft = 5
  local rtop = 5
  local cleft = 5
  local ctop = 10

  for row = 0, brickRows do
   for column = 0, brickColumns do
   bricks[row] = createPanel(gameMain)
   bricks[row].Width = brickWidth
   bricks[row].Height = brickHeight
   bricks[row].Top = rtop
   bricks[row].Left = rleft
   bricks[row].Color = math.random(10,65255)
   rleft = rleft + brickWidth + 5
   bricks[column]  = createPanel(gameMain)
   bricks[column].Width = brickWidth
   bricks[column].Height = brickHeight
   bricks[column].Left = cleft
   bricks[column].Top = brickHeight + 5
   bricks[column].Color = math.random(10,65255)
   ctop = ctop + brickHeight + 5
   end
  end

Но не получается.Я хочу, чтобы каждая строка и столбец содержали 6 панелей.Как правильно написать скрипт?Спасибо

1 Ответ

1 голос
/ 11 июля 2019

Создать таблицу, которая будет содержать все кирпичи.

Создать 1 таблицу на строку

Создать и добавить 1 кирпич на столбец в каждую строку

Просто используйте счетчики цикловЧтобы вычислить смещения.

Может быть, вам сначала нужно решить такие проблемы с ручкой и бумагой.

local rows, cols = 6, 6
local width, height = 70, 25
local gap = 5

local bricks = {}

for row = 1, rows do
  bricks[row] = {}
  for col = 1, cols do
    local x = (col - 1) * (width + gap) -- x offset
    local y = (row - 1) * (height + gap) -- y offset
    local newBrick = createPanel(gameMain)
    -- assign brick's properties
    -- ...
    bricks[row][col] = newBrick
  end

end
...