Repository navigation
Expand file tree
/
Copy pathTransicion.lua
More file actions
54 lines (49 loc) · 1.71 KB
/
Copy pathTransicion.lua
File metadata and controls
54 lines (49 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-- 🎬 TRANSICION ENTRE VENTANAS DEL ECOSISTEMA WOW PERÚ
-- Efecto de fundido cruzado suave entre el Armario, la Tienda y el Pase.
if ProjectJaina_Cruzar and ProjectJaina_Aparecer then
PeruLand_Cruzar = PeruLand_Cruzar or ProjectJaina_Cruzar
PeruLand_Aparecer = PeruLand_Aparecer or ProjectJaina_Aparecer
return
end
local SALIDA, ENTRADA = 0.30, 0.35
local function Fundir(f, desde, hasta, dura, alFinal)
local t = 0
f:SetAlpha(desde)
local reloj = f.__wpFundido or f.__plFundido or CreateFrame("Frame")
f.__wpFundido = reloj
reloj:SetScript("OnUpdate", function(r, e)
t = t + e
local k = t / dura
if k >= 1 then
r:SetScript("OnUpdate", nil)
f:SetAlpha(hasta)
if alFinal then alFinal() end
return
end
-- suave al principio y al final
k = k * k * (3 - 2 * k)
f:SetAlpha(desde + (hasta - desde) * k)
end)
end
--- La ventana aparece desde transparente. Seguro de llamar siempre.
function ProjectJaina_Aparecer(f)
if not f or not f.SetAlpha then return end
Fundir(f, 0, 1, ENTRADA)
end
PeruLand_Aparecer = ProjectJaina_Aparecer
--- Desvanece `origen`, lo esconde y luego llama a `abrir`.
function ProjectJaina_Cruzar(origen, abrir)
if not origen or not origen:IsShown() then
if abrir then abrir() end
return
end
local raton = origen.IsMouseEnabled and origen:IsMouseEnabled()
if raton then origen:EnableMouse(false) end
if abrir then abrir() end
Fundir(origen, origen:GetAlpha() or 1, 0, SALIDA, function()
origen:Hide()
origen:SetAlpha(1)
if raton then origen:EnableMouse(true) end
end)
end
PeruLand_Cruzar = ProjectJaina_Cruzar