Слайд изображения в центральном режиме карусели с Cheat Engine Lua - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь сделать функцию слайда изображения в режиме карусели в центре в Cheat Engine Lua. Мой код:

if f then f.destroy() end
if t then t.destroy() end

f = createForm()
f.setSize(600,400)
f.Position = 'poScreenCenter'
f.BorderStyle = 'bsSingle'

imL = createPanel(f)
imL.setSize(100,100)
imL.setPosition(50,150)
imL.Font.Size = 48
imL.Caption = '1'
imL.Color = 0xff00

imC = createPanel(f)
imC.setSize(200,200)
imC.setPosition(200,100)
imC.Font.Size = 48
imC.Caption = '2'
imC.Color = 0x00ff

imR = createPanel(f)
imR.setSize(100,100)
imR.setPosition(450,150)
imR.Font.Size = 48
imR.Caption = '3'
imR.Color = 0xffff

local a = 10
local b = 5
local c = 15
local d = 25
local e = 40
local img1 = imL
local img2 = imC
local img3 = imR

function roundUp()
 t.Enabled = true
 img1.Height = img1.Height + a
 img1.Width =  img1.Width + a
 img1.Top = img1.Top - b
 img1.Left = img1.Left + c
 img1.bringToFront()

 img2.Height = img2.Height - a
 img2.Width = img2.Width - a
 img2.Top = img2.Top + b
 img2.Left = img2.Left + d

 img3.Left = img3.Left - e
 img3.sendToBack()

 if img1.Left == 200 then   -- round 1
    t.Enabled = false
    img2 = imR
    img3 = imL
    img1 = imC
 end

 if img3.Left == 200 then  -- round 2
    t.Enabled = false
    img1 = imR
    img2 = imL
    img3 = imC
 end

end

t = createTimer()
t.Interval = 50
t.Enabled = false
t.OnTimer = roundUp

f.OnClick = roundUp

Пока что код работает только на два хода. Мои вопросы:

  1. Каким образом правильный logi c для каждой панели в соответствии с их позициями в событии таймера?
  2. Я планирую использовать массив таблиц для хранения каждой панели или изображения (более 3 панели). Как сделать слайд изображения в центральном режиме карусели с этими панелями из таблицы массива Lua?
...