From 20770db3aba953585495d21bfe0a2e430485b038 Mon Sep 17 00:00:00 2001 From: Aki Date: Thu, 6 Apr 2017 23:03:50 +0200 Subject: First steps in cleaning-up menu. Selector, Button and Header extend Element now. --- header.lua | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) (limited to 'header.lua') diff --git a/header.lua b/header.lua index d67e582..9c18bf1 100644 --- a/header.lua +++ b/header.lua @@ -1,41 +1,36 @@ --- `Header` --- It dances! - +--- `Header` +-- Swinging title. Header = { + parent = --[[not.Menu]]nil, x = 0, y = 0, text = "", - parent, bounce = 2, } -function Header:new(parent) - local o = {} - setmetatable(o, self) - self.__index = self + +-- `Header` is a child of `Element`. +require "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) + +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) + +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() - return false -end -function Header:blur() end -- Called when Element loses focus -- LÖVE2D callbacks -function Header:draw(scale) +function Header:draw (scale) local angle = self:getBounce(2) local dy = self:getBounce()*4 local x,y = self:getPosition() @@ -43,15 +38,11 @@ function Header:draw(scale) 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) +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 +return Header -- cgit v1.1