迁移后更改
This commit is contained in:
49
OriginalCode/example_scrollingtext.lua
Normal file
49
OriginalCode/example_scrollingtext.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
---@module "cctAPI"
|
||||
local monitor = peripheral.find("monitor")
|
||||
local computer = term.redirect(monitor)
|
||||
|
||||
-- suggested
|
||||
monitor.setTextScale(0.5)
|
||||
|
||||
term.clear()
|
||||
term.setCursorPos(1, 1)
|
||||
|
||||
local M = require("utf8textutils")
|
||||
|
||||
---@param str string
|
||||
---@param fps number films per second
|
||||
local function pirntScrolling(str, fps)
|
||||
str = str .. " "
|
||||
local termWidth = term.getSize()
|
||||
local cfg1 = M.getCfg("noauto")
|
||||
cfg1.masking = { 2, 2, termWidth - 1, cfg1.fontFamily.maxHeight + 1 }
|
||||
|
||||
local spf = 1 / fps
|
||||
---@type FontFamily
|
||||
local fontFamily = cfg1.fontFamily
|
||||
local wid = 0
|
||||
for _, code in M.codes(str) do
|
||||
local bm = M.getCharMap(code, fontFamily)
|
||||
wid = wid + #bm[1]
|
||||
end
|
||||
|
||||
local cursorX = 2
|
||||
local cursorY = 2
|
||||
local maskingWidth = cfg1.masking[3] - cfg1.masking[1]
|
||||
local repeatNum = math.max(maskingWidth, wid)
|
||||
while true do
|
||||
cursorX = 2
|
||||
for i = 1, repeatNum do
|
||||
term.setCursorPos(cursorX, cursorY)
|
||||
M.printUtf8(str, cfg1)
|
||||
|
||||
term.setCursorPos(cursorX + repeatNum, cursorY)
|
||||
M.printUtf8(str, cfg1)
|
||||
cursorX = cursorX - 1
|
||||
|
||||
os.sleep(spf)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
pirntScrolling("hello -- by AAAB60", 5)
|
||||
Reference in New Issue
Block a user