我试图在月份更改时更改可见文本标签的数量,但它不会改变,它只保留在所述的第一个月,并且不会根据月份/月份的天数更改可见文本标签的数量
local player = game.Players.LocalPlayer
local PlayerGUI = player.PlayerGui
local Window = PlayerGUI.Computer.Window
local DateWindow = Window.CalenderWindow
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local DateNumbers = DateWindow.DaysHandler:GetChildren()
local DaysInMonth = {
January = 31,
February = 28,
March = 31,
April = 30,
May = 31,
June = 30,
July = 31,
August = 31,
September = 30,
October = 31,
November = 30,
December = 31
}
local Months = ReplicatedStorage.Months:GetChildren()
local CurrentMonth = ReplicatedStorage.CurrentMonth.Value
local monthSwitched = false
for _, DayLabel in pairs(DateNumbers) do
local dayNumber = tonumber(DayLabel.Name)
if not monthSwitched and dayNumber > DaysInMonth[CurrentMonth] then
for _, month in pairs(Months) do
local daysInCurrentMonth = DaysInMonth[month.Name]
CurrentMonth = month.Name
monthSwitched = true
break
end
end
if dayNumber <= DaysInMonth[CurrentMonth] then
DayLabel.Visible = true
else
DayLabel.Visible = false
end
end
我尝试使用另一个 forloop 来尝试获取月份文件夹并将其用作当前月份,但似乎没有成功。
local tab={
January = 31,
February = 28,
March = 31,
April = 30,
May = 31,
June = 30,
July = 31,
August = 31,
September = 30,
October = 31,
November = 30,
December = 31
}
local labels=player.PlayerGui.Computer.Window.CalenderWindow.DaysHandler:GetChildren()
game.ReplicatedStorage.CurrentMonth.Changed:Connect(function(i)
for _,label in(labels)do
label.Visible=tonumber(label.Name)<=tab[i]
end
end)
local i=game.ReplicatedStorage.CurrentMonth.Value
for _,label in(labels)do
label.Visible=tonumber(label.Name)<=tab[i]
end