使用数组表创建对象

时间:2019-07-11 01:53:03

标签: lua cheat-engine

我尝试使用CE Lua脚本在Cheat Engine的表单上制作几个面板对象。如何以正确的方式做到这一点?。

  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 个答案:

答案 0 :(得分:1)

创建一个包含所有积木的表。

每行创建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