From 213c783bdde0fe5bf9709e19168a8e5049c7b13a Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 22 Aug 2016 18:27:14 +0200 Subject: game title --- header.lua | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 header.lua (limited to 'header.lua') diff --git a/header.lua b/header.lua new file mode 100644 index 0000000..d538ab3 --- /dev/null +++ b/header.lua @@ -0,0 +1,61 @@ +-- `Header` +-- It dances! + +Header = { + x = 0, + y = 0, + text = "", + parent, + bounce = 2, +} +function Header:new(parent) + local o = {} + setmetatable(o, self) + self.__index = self + o.parent = parent + return o +end +function Header:setText(text) + self.text = text or "" + return self +end +function Header:setPosition(x, y) + self.x = x or 0 + self.y = y or 0 + return self +end +function Header:getBounce(f) + local f = f or 1 + return math.sin(self.bounce*f*math.pi) +end +function Header:getPosition() return self.x,self.y end -- gives x,y of Element +function Header:focus(next) + if next and self.parent then + self.parent:next() + else + self.parent:previous() + end +end +function Header:blur() end -- Called when Element loses focus + +-- 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 + +-- Controller callbacks +function Header:controlpressed(set, action, key) end +function Header:controlreleased(set, action, key) end + +return Header \ No newline at end of file -- cgit v1.1 From cd72b080bd949d9ec0b42c29e0ea31e300464dad Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 24 Aug 2016 00:10:33 +0200 Subject: Focus() return bool --- header.lua | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'header.lua') diff --git a/header.lua b/header.lua index d538ab3..d67e582 100644 --- a/header.lua +++ b/header.lua @@ -29,12 +29,8 @@ function Header:getBounce(f) return math.sin(self.bounce*f*math.pi) end function Header:getPosition() return self.x,self.y end -- gives x,y of Element -function Header:focus(next) - if next and self.parent then - self.parent:next() - else - self.parent:previous() - end +function Header:focus() + return false end function Header:blur() end -- Called when Element loses focus -- cgit v1.1