» Ease.lua
Это библиотека на языке Lua, предоставляющая набор функций интерполяции (easing functions) для создания плавных анимаций. Библиотека поддерживает широкий спектр анимационных функций, таких как линейные, квадратичные, кубические, синусоидальные, экспоненциальные и эластичные переходы. Она идеально подходит для разработки мини-игр, интерфейсов и любых функций, где требуются плавные переходы между двумя значениями.
Поддерживаемые функции интерполяции:
Установка и использование:
1. Поместить
2. Подключить модуль вначале своего скрипта:
Примеры использования:
Описание: Изменение значения от 0 до 100 за 2 секунды с квадратичной функцией интерполяции
1. С использованием callback функции (единоразовый вызов)
2. Постоянный вызов в цикле/onFrame
Статусы интерполяции:
Это библиотека на языке Lua, предоставляющая набор функций интерполяции (easing functions) для создания плавных анимаций. Библиотека поддерживает широкий спектр анимационных функций, таких как линейные, квадратичные, кубические, синусоидальные, экспоненциальные и эластичные переходы. Она идеально подходит для разработки мини-игр, интерфейсов и любых функций, где требуются плавные переходы между двумя значениями.
Поддерживаемые функции интерполяции:
- Линейные: linear
- Синусоидальные: inSine, outSine, inOutSine
- Квадратичные: inQuad, outQuad, inOutQuad
- Кубические: inCubic, outCubic, inOutCubic
- Квартетные: inQuart, outQuart, inOutQuart
- Пятой степени: inQuint, outQuint, inOutQuint
- Экспоненциальные: inExpo, outExpo, inOutExpo
- Циркулярные: inCirc, outCirc, inOutCirc
- Эластичные: inElastic, outElastic, inOutElastic
- Пружинные: inBounce, outBounce, inOutBounce
Установка и использование:
1. Поместить
ease.lua
в папку moonloader/lib
2. Подключить модуль вначале своего скрипта:
Lua:
local Ease = require("Ease")
Примеры использования:
Описание: Изменение значения от 0 до 100 за 2 секунды с квадратичной функцией интерполяции
1. С использованием callback функции (единоразовый вызов)
Lua:
Ease(0, 100, os.clock(), 2, "inQuad", function(value, status)
print(value) -- текущее значение
if status == 2 then
print("Анимация завершена")
end
end)
2. Постоянный вызов в цикле/onFrame
Lua:
local start_time = os.clock()
while true do
wait(0)
local value, status = Ease(0, 100, start_time, 2, "inQuad")
if status < 2 then
print(value)
end
end
Статусы интерполяции:
0
- ожидание начала процесса (value == from)1
- процесс изменения значения (from < value < dest)2
- процесс завершён (value == dest)Вложения
Последнее редактирование: