diff options
author | ubq323 <ubq323@ubq323.website> | 2022-03-30 22:17:29 +0100 |
---|---|---|
committer | ubq323 <ubq323@ubq323.website> | 2022-03-30 22:17:29 +0100 |
commit | 9120ff684d62691c04564cc8a038c80a85b91bce (patch) | |
tree | b59331677793ba1ea306360a9d7c151449c0dd19 /src/mansion.lua | |
parent | 2ebd13947d71d78892690c45690fa49157ac4612 (diff) |
more thing
Diffstat (limited to 'src/mansion.lua')
-rw-r--r-- | src/mansion.lua | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/mansion.lua b/src/mansion.lua new file mode 100644 index 0000000..d0114f9 --- /dev/null +++ b/src/mansion.lua @@ -0,0 +1,80 @@ +local bump = require "bump" +local player = require "player" + +local mansion = {} + +local world = bump.newWorld() +mansion.world=world + +local draw_thing = coroutine.wrap(function() + local t = 0 + local angry = false + + local tri_a = 100 + local tri_h = (math.sqrt(3)/2)*tri_a + + local ell_l = 20 + local ell_r = 30 + + while true do + local theta = t/10 + local c = math.cos(theta) + local s = math.sin(theta) + + local dist = math.sqrt((420-player.x)^2 + (240-player.y)^2) + if not angry and dist < 100 then + angry = true + elseif angry and dist > 200 then + angry = false + end + + love.graphics.push() + love.graphics.translate(420,240) + + love.graphics.push() + love.graphics.setLineWidth(10) + love.graphics.setColor(angry and {1,0,0,0.8} or {0.7,0,0.5,0.8}) + love.graphics.rotate(-theta/1.618) + love.graphics.polygon("line", -tri_a/2,-tri_h/3, tri_a/2,-tri_h/3, 0,2*tri_h/3) + love.graphics.pop() + + love.graphics.setLineWidth(7) + love.graphics.setColor(0.8,0.8,0,0.7) + love.graphics.ellipse("line", ell_l*c,ell_l*s, ell_r,2*ell_r) + love.graphics.setColor(0,0.8,0.8,0.7) + love.graphics.ellipse("line", -ell_l*c,-ell_l*s, ell_r,2*ell_r) + love.graphics.pop() + + t = t + (angry and 1.8 or 1) + + coroutine.yield() + end +end) + +local font,title,jerma +function mansion.load() + font = love.graphics.newFont("APL333.ttf",72) + title = love.graphics.newText(font,"mansion") + jerma = love.graphics.newImage("jerma.jpg") + world:add("jerma", 30,400, 400,50) +end + +local function draw_jerma() + love.graphics.setColor(1,1,1,1) + local sx = 400 / jerma:getWidth() + local sy = 50 / jerma:getHeight() + love.graphics.draw(jerma, 30,400, 0, sx,sy) +end + +function mansion.draw() + love.graphics.setColor(0.8,0.8,0.8) + love.graphics.setLineWidth(10) + love.graphics.rectangle("line",30,80,580,370) + love.graphics.draw(title,610-title:getWidth(),-10) + + draw_thing() + draw_jerma() +end + +return mansion + |