+ chain numbers to gameplay
|
@ -5,11 +5,14 @@ local Banner = require('gameplay.banner')
|
||||||
local CritLine = require('gameplay.crit_line')
|
local CritLine = require('gameplay.crit_line')
|
||||||
local Console = require('gameplay.console')
|
local Console = require('gameplay.console')
|
||||||
local Gauge = require('gameplay.gauge')
|
local Gauge = require('gameplay.gauge')
|
||||||
|
local Chain = require('gameplay.chain')
|
||||||
|
|
||||||
local resx, resy = game.GetResolution()
|
local resx, resy = game.GetResolution()
|
||||||
local desw, desh;
|
local desw, desh;
|
||||||
local scale;
|
local scale;
|
||||||
|
|
||||||
|
local chain = 0;
|
||||||
|
|
||||||
function resetLayoutInformation()
|
function resetLayoutInformation()
|
||||||
resx, resy = game.GetResolution()
|
resx, resy = game.GetResolution()
|
||||||
desw = 1080
|
desw = 1080
|
||||||
|
@ -28,6 +31,7 @@ function render(deltaTime)
|
||||||
gameplay.gauge.value,
|
gameplay.gauge.value,
|
||||||
(game.GetSkinSetting('_gaugeARS') == 1)
|
(game.GetSkinSetting('_gaugeARS') == 1)
|
||||||
);
|
);
|
||||||
|
Chain.render(deltaTime, chain, gameplay.critLine.x, gameplay.critLine.y);
|
||||||
end
|
end
|
||||||
|
|
||||||
function render_crit_base(deltaTime)
|
function render_crit_base(deltaTime)
|
||||||
|
@ -52,7 +56,7 @@ function update_score(newScore)
|
||||||
end
|
end
|
||||||
|
|
||||||
function update_combo(newCombo)
|
function update_combo(newCombo)
|
||||||
|
chain = newCombo
|
||||||
end
|
end
|
||||||
|
|
||||||
function near_hit(wasLate)
|
function near_hit(wasLate)
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
|
||||||
|
|
||||||
|
local desw = 1080;
|
||||||
|
local desh = 1920;
|
||||||
|
|
||||||
|
local transitionShakeScale = 0;
|
||||||
|
local transitionShakePosOffset = 0;
|
||||||
|
|
||||||
|
function load_number_image(path)
|
||||||
|
local images = {}
|
||||||
|
for i = 0, 9 do
|
||||||
|
images[i + 1] = gfx.CreateSkinImage(string.format("%s/%d.png", path, i), 0)
|
||||||
|
end
|
||||||
|
return images
|
||||||
|
end
|
||||||
|
|
||||||
|
local chainNumbers = load_number_image('gameplay/chain/reg')
|
||||||
|
|
||||||
|
function draw_number(x, y, alpha, num, digits, images, is_dim, scale, kern)
|
||||||
|
scale = scale or 1;
|
||||||
|
kern = kern or 1;
|
||||||
|
local tw, th = gfx.ImageSize(images[1])
|
||||||
|
tw = tw * scale;
|
||||||
|
th = th * scale;
|
||||||
|
x = x + (tw * (digits - 1)) / 2
|
||||||
|
y = y - th / 2
|
||||||
|
for i = 1, digits do
|
||||||
|
local mul = 10 ^ (i - 1)
|
||||||
|
local digit = math.floor(num / mul) % 10
|
||||||
|
local a = alpha
|
||||||
|
if is_dim and num < mul then
|
||||||
|
a = 0.4
|
||||||
|
end
|
||||||
|
gfx.BeginPath()
|
||||||
|
gfx.ImageRect(x, y, tw, th, images[digit + 1], a, 0)
|
||||||
|
x = x - (tw * kern)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local tickTransitions = function (deltaTime)
|
||||||
|
|
||||||
|
if transitionShakeScale < 1 then
|
||||||
|
transitionShakeScale = transitionShakeScale + deltaTime / 0.075 -- transition should last for that time in seconds
|
||||||
|
else
|
||||||
|
transitionShakeScale = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
if (transitionShakeScale < 0.33) then
|
||||||
|
transitionShakePosOffset = 0;
|
||||||
|
elseif (transitionShakeScale > 0.66) then
|
||||||
|
transitionShakePosOffset = -1;
|
||||||
|
else
|
||||||
|
transitionShakePosOffset = 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local render = function (deltaTime, combo, critLineCenterX, critLineCenterY)
|
||||||
|
tickTransitions(deltaTime)
|
||||||
|
|
||||||
|
if combo == 0 then return end
|
||||||
|
|
||||||
|
-- comboTimer = comboTimer + deltaTime
|
||||||
|
|
||||||
|
local posx = desw / 2 + transitionShakePosOffset;
|
||||||
|
local posy = desh - 650 + transitionShakePosOffset;
|
||||||
|
|
||||||
|
-- if portrait then posy = desh * critLinePos[2] - 150 end
|
||||||
|
|
||||||
|
-- if gameplay.comboState == 2 then
|
||||||
|
-- comboCurrent = comboPUC --puc
|
||||||
|
-- elseif gameplay.comboState == 1 then
|
||||||
|
-- comboCurrent = comboUC --uc
|
||||||
|
-- else
|
||||||
|
-- comboCurrent = comboREG --regular
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- local alpha = math.floor(comboTimer * 20) % 2
|
||||||
|
-- alpha = (alpha * 100 + 155) / 255
|
||||||
|
local alpha = 1
|
||||||
|
|
||||||
|
-- \_ chain _/
|
||||||
|
local tw, th
|
||||||
|
-- tw, th = gfx.ImageSize(comboBottom)
|
||||||
|
-- gfx.BeginPath()
|
||||||
|
-- gfx.ImageRect(posx - tw / 2 + 10, posy - th / 4 - 210, tw * 0.85, th * 0.85, comboBottom, alpha, 0)
|
||||||
|
|
||||||
|
tw, th = gfx.ImageSize(chainNumbers[1])
|
||||||
|
posy = posy - th + 32
|
||||||
|
|
||||||
|
local comboScale = 0.45;
|
||||||
|
draw_number(posx - (tw*4*comboScale)/2+(tw*comboScale*1.5)+10, posy - th / 2, 1.0, combo, 4, chainNumbers, true, comboScale, 1.12)
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
render=render
|
||||||
|
}
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 872 B After Width: | Height: | Size: 872 B |
Before Width: | Height: | Size: 576 B After Width: | Height: | Size: 576 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 871 B After Width: | Height: | Size: 871 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 706 B After Width: | Height: | Size: 706 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |