Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class 'Clock'
- function Clock:__init()
- Events:Subscribe( "Render", self, self.Render )
- end
- function Clock:Render()
- self:CalcTime()
- local font_scale = math.round(Render.Size.y/1080,1)
- local text1 = "Time"
- local text2 = tostring(self.time)
- local pos1 = Vector2( Render.Width*0.95, Render.Height * 0.10 )
- local pos2 = Vector2( Render.Width*0.95, Render.Height * 0.12 )
- local font1 = 18*font_scale
- local font2 = 18*font_scale
- pos1.y = pos1.y - Render:GetTextHeight(text1, font1)
- pos1.x = pos1.x - Render:GetTextWidth(text1, font1) / 2
- pos2.y = pos2.y - Render:GetTextHeight("00:00", font2)
- pos2.x = pos2.x - Render:GetTextWidth("00:00", font2) / 2
- Render:DrawText( pos1 + Vector2(1,1)*font_scale, text1, Color.Black, font1)
- Render:DrawText( pos1, text1, Color.Teal, font1)
- Render:DrawText( pos2 + Vector2(1,1)*font_scale, text2, Color.Black, font2)
- Render:DrawText( pos2, text2, Color.SkyBlue, font2)
- end
- function Clock:CalcTime()
- local gettime = Game:GetTime()
- local hh, timedec = math.modf(gettime)
- local mm, _ = math.modf(60*timedec)
- self.time = string.format("%02d:%02d", hh, mm)
- end
- math.round = function(x, n) -- rounding function
- n = math.pow(10, n or 0)
- x = x * n
- if x >= 0 then x = math.floor(x + 0.5) else x = math.ceil(x - 0.5) end
- return x / n
- end
- Clock = Clock()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement