mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-20 02:59:20 +01:00
zalupa
This commit is contained in:
parent
51f4b88207
commit
0549b379d9
1
Wallpapers/DVD.wlp/Config.cfg
Normal file
1
Wallpapers/DVD.wlp/Config.cfg
Normal file
@ -0,0 +1 @@
|
||||
{["speed"]=2,["backgroundColor"]=3351743}
|
||||
BIN
Wallpapers/DVD.wlp/Logo.pic
Normal file
BIN
Wallpapers/DVD.wlp/Logo.pic
Normal file
Binary file not shown.
94
Wallpapers/DVD.wlp/Main.lua
Normal file
94
Wallpapers/DVD.wlp/Main.lua
Normal file
@ -0,0 +1,94 @@
|
||||
local screen = require("Screen")
|
||||
local color = require("Color")
|
||||
local filesystem = require("Filesystem")
|
||||
local system = require("System")
|
||||
local GUI = require("GUI")
|
||||
local image = require("Image")
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
local workspace, wallpaper = select(1, ...), select(2, ...)
|
||||
|
||||
local configPath = filesystem.path(system.getCurrentScript()) .. "Config.cfg"
|
||||
|
||||
local config = {
|
||||
backgroundColor = 0x000000,
|
||||
speed = 1
|
||||
}
|
||||
|
||||
if filesystem.exists(configPath) then
|
||||
for key, value in pairs(filesystem.readTable(configPath)) do
|
||||
config[key] = value
|
||||
end
|
||||
end
|
||||
|
||||
local function saveConfig()
|
||||
filesystem.writeTable(configPath, config)
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
local logo = image.load(filesystem.path(system.getCurrentScript()) .. "Logo.pic")
|
||||
|
||||
local logoPosition = {
|
||||
x = math.random(1, wallpaper.width - image.getWidth (logo)),
|
||||
y = math.random(1, wallpaper.height - image.getHeight(logo))
|
||||
}
|
||||
|
||||
local logoSpeed = {
|
||||
x = (2 * math.random() - 1) * 10,
|
||||
y = (2 * math.random() - 1) * 10
|
||||
}
|
||||
|
||||
local lastUpdateTime = computer.uptime()
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
wallpaper.draw = function(wallpaper)
|
||||
local currentTime = computer.uptime()
|
||||
local deltaTime = currentTime - lastUpdateTime
|
||||
lastUpdateTime = currentTime
|
||||
|
||||
screen.drawRectangle(wallpaper.x, wallpaper.y, wallpaper.width, wallpaper.height, config.backgroundColor, 0, " ")
|
||||
screen.drawImage(wallpaper.x + math.floor(logoPosition.x), wallpaper.y + math.floor(logoPosition.y), logo)
|
||||
|
||||
logoPosition.x = logoPosition.x + logoSpeed.x * config.speed * deltaTime
|
||||
logoPosition.y = logoPosition.y + logoSpeed.y * config.speed * deltaTime
|
||||
|
||||
if logoPosition.x < 1 or logoPosition.x >= wallpaper.width - image.getWidth(logo) then
|
||||
logoSpeed.x = -logoSpeed.x
|
||||
end
|
||||
|
||||
if logoPosition.y < 1 or logoPosition.y >= wallpaper.height - image.getHeight(logo) then
|
||||
logoSpeed.y = -logoSpeed.y
|
||||
end
|
||||
end
|
||||
|
||||
wallpaper.configure = function(layout)
|
||||
layout:addChild(GUI.colorSelector(1, 1, 36, 3, config.backgroundColor, "Background color")).onColorSelected = function(_, object)
|
||||
config.backgroundColor = object.color
|
||||
saveConfig()
|
||||
end
|
||||
|
||||
local speedSlider = layout:addChild(
|
||||
GUI.slider(
|
||||
1, 1,
|
||||
36,
|
||||
0x66DB80,
|
||||
0xE1E1E1,
|
||||
0xFFFFFF,
|
||||
0xA5A5A5,
|
||||
0, 50,
|
||||
config.speed,
|
||||
false,
|
||||
"Speed: "
|
||||
)
|
||||
)
|
||||
|
||||
speedSlider.onValueChanged = function()
|
||||
config.speed = math.floor(speedSlider.value)
|
||||
saveConfig()
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Loading…
x
Reference in New Issue
Block a user