diff options
author | Aki <nthirtyone@gmail.com> | 2017-04-09 22:07:04 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-04-09 22:07:04 +0200 |
commit | 0dd01913fe0eefc7ba4bc0797877f40fdedf9315 (patch) | |
tree | 8d270eb07f589d2487b3ce66d4865e5a4718042a /not/Header.lua | |
parent | 55b0cf1a22e4a7e41fe00aa693445d6c4bd0652d (diff) | |
parent | a03c1125f10fbbad253a0efc4727072fcbd55345 (diff) | |
download | roflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.zip roflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.tar.gz roflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.tar.bz2 |
Merge branch 'com'
Diffstat (limited to 'not/Header.lua')
-rw-r--r-- | not/Header.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/not/Header.lua b/not/Header.lua new file mode 100644 index 0000000..a563ab2 --- /dev/null +++ b/not/Header.lua @@ -0,0 +1,48 @@ +--- `Header` +-- Swinging title. +Header = { + parent = --[[not.Menu]]nil, + x = 0, + y = 0, + text = "", + bounce = 2, +} + +-- `Header` is a child of `Element`. +require "not.Element" +Header.__index = Header +setmetatable(Header, Element) + +function Header:new (parent) + local o = setmetatable({}, self) + o.parent = parent + return o +end + +function Header:setText (text) + self.text = text or "" + return self +end + +function Header:getBounce (f) + local f = f or 1 + return math.sin(self.bounce*f*math.pi) +end + +-- LÖVE2D callbacks +function Header:draw (scale) + local angle = self:getBounce(2) + local dy = self:getBounce()*4 + local x,y = self:getPosition() + love.graphics.setColor(255,255,255,255) + love.graphics.setFont(Bold) + love.graphics.printf(string.upper(self.text),x*scale,(y+dy)*scale,400,"center",(angle*5)*math.pi/180,scale,scale,200,12) +end +function Header:update (dt) + self.bounce = self.bounce + dt*0.7 + if self.bounce > Header.bounce then -- Header.bounce is initial + self.bounce = self.bounce - Header.bounce + end +end + +return Header |