TaggedEngine/stages/tank.lua

132 lines
5.8 KiB
Lua

local myTypes = require("modules.types")
local rollingBGTank
local bgTankX = 200
local bgTankY = 50
local watchtower, audience1, audience2, audience3, audience4, audience5, audience6, bgTankRotate
return {
onCreate = function(song)
local tankSky = myTypes.Image("images/tank/tankSky.png")
tankSky.layer = -10
tankSky.position = myTypes.Vector2(-800, -400)
tankSky.modifer = 0
tankSky.resize = myTypes.Vector2(2.5, 2.5)
local tankMountains = myTypes.Image("images/tank/tankMountains.png")
tankMountains.layer = -9
tankMountains.position = myTypes.Vector2(-150, 150)
tankMountains.modifier = 0.2
tankMountains.resize = myTypes.Vector2(1.7, 1.7)
local tankBuildings = myTypes.Image("images/tank/tankBuildings.png")
tankBuildings.position = myTypes.Vector2(-400, -100)
tankBuildings.modifier = 0.3
tankBuildings.layer = -7
tankBuildings.resize = myTypes.Vector2(1.6, 1.6)
local tankRuins = myTypes.Image("images/tank/tankRuins.png")
tankRuins.position = myTypes.Vector2(-400, -100)
tankRuins.modifier = 0.35
tankRuins.layer = -6
tankRuins.resize = myTypes.Vector2(1.6, 1.6)
local clouds = myTypes.Image("images/tank/tankClouds.png")
clouds.position = myTypes.Vector2(0, 0)
clouds.modifier = 0.4
clouds.layer = -8
local smokeLeft = myTypes.Sprite("sprites/tank/smokeLeft.png", "sprites/tank/smokeLeft.json")
smokeLeft:PlayAnimation("SmokeBlurLeft instance 1", 24, true)
smokeLeft.position = myTypes.Vector2(-100, 0)
smokeLeft.modifier = 0.4
smokeLeft.layer = -5
local smokeRight = myTypes.Sprite("sprites/tank/smokeRight.png", "sprites/tank/smokeRight.json")
smokeRight:PlayAnimation("SmokeRight instance 1", 24, true)
smokeRight.position = myTypes.Vector2(700, -100)
smokeRight.modifier = 0.4
smokeRight.layer = -5
watchtower = myTypes.Sprite("sprites/tank/tankWatchtower.png", "sprites/tank/tankWatchtower.json")
watchtower:PlayAnimation("watchtower gradient color instance 1", 24, false)
watchtower.position = myTypes.Vector2(25, 50)
watchtower.modifier = 0.5
watchtower.resize = myTypes.Vector2(2, 2)
watchtower.layer = -4
rollingBGTank = myTypes.Sprite("sprites/tank/tankRolling.png", "sprites/tank/tankRolling.json")
rollingBGTank:PlayAnimation("BG tank w lighting instance 1", 24, true)
rollingBGTank.modifier = 0.5
rollingBGTank.layer = -3
rollingBGTank.flipY = true
local tankGround = myTypes.Image("images/tank/tankGround.png")
tankGround.position = myTypes.Vector2(-420, -150)
tankGround.layer = -2
tankGround.resize = myTypes.Vector2(1.15, 1.15)
audience1 = myTypes.Sprite("sprites/tank/tank0.png", "sprites/tank/tank0.json")
audience1:PlayAnimation("fg tankhead far right instance 1", 24, false)
audience1.position = myTypes.Vector2(-200, 350)
audience1.modifier = 1.5
audience1.layer = 2
audience1.resize = myTypes.Vector2(1.6, 1.6)
audience2 = myTypes.Sprite("sprites/tank/tank2.png", "sprites/tank/tank2.json")
audience2:PlayAnimation("foreground man 3 instance 1", 24, false)
audience2.position = myTypes.Vector2(0, 400)
audience2.modifier = 1.5
audience2.layer = 3
audience2.resize = myTypes.Vector2(1.6, 1.6)
audience3 = myTypes.Sprite("sprites/tank/tank3.png", "sprites/tank/tank3.json")
audience3:PlayAnimation("fg tankhead 4 instance 1", 24, false)
audience3.position = myTypes.Vector2(-100, 500)
audience3.modifier = 2.5
audience3.layer = 5
audience3.resize = myTypes.Vector2(1.6, 1.6)
audience4 = myTypes.Sprite("sprites/tank/tank4.png", "sprites/tank/tank4.json")
audience4:PlayAnimation("fg tankman bobbin 3 instance 1", 24, false)
audience4.position = myTypes.Vector2(300, 400)
audience4.modifier = 1.5
audience4.layer = 4
audience4.resize = myTypes.Vector2(1.6, 1.6)
audience5 = myTypes.Sprite("sprites/tank/tank5.png", "sprites/tank/tank5.json")
audience5:PlayAnimation("fg tankhead far right instance 1", 24, false)
audience5.position = myTypes.Vector2(500, 350)
audience5.modifier = 1.5
audience5.layer = 3
audience5.resize = myTypes.Vector2(1.6, 1.6)
--I'm not even gonna try what is this
--[[audience6 = myTypes.Sprite("sprites/tank/tank1.png", "sprites/tank/tank1.json")
audience6:PlayAnimation("fg tankhead 5 instance 1", 24, false)
audience6.position = myTypes.Vector2(700, 500)
audience6.modifier = 1.5
audience6.layer = 2
audience6.resize = myTypes.Vector2(1.6, 1.6)]]
end,
onBeat = function(beat)
if beat % 2 == 0 then
watchtower:PlayAnimation("watchtower gradient color instance 1", 24, false)
audience1:PlayAnimation("fg tankhead far right instance 1", 24, false)
audience2:PlayAnimation("foreground man 3 instance 1", 24, false)
audience3:PlayAnimation("fg tankhead 4 instance 1", 24, false)
audience4:PlayAnimation("fg tankman bobbin 3 instance 1", 24, false)
audience5:PlayAnimation("fg tankhead far right instance 1", 24, false)
--audience6:PlayAnimation("fg tankhead 5 instance 1", 24, false)
end
end,
--zero fucking idea what im doing
onUpdate = function(dt, elapsed)
bgTankX = math.cos(math.rad(elapsed / 100)) * 500
bgTankY = math.sin(math.rad(elapsed / 100)) * 500
bgTankRotate = elapsed / 5000
rollingBGTank.position = myTypes.Vector2(bgTankX, bgTankY)
rollingBGTank.rotation = bgTankRotate --testing
end
}