/
PGStudio
/
DiplomaProject
Обзор
Документация
Войти
/
PGStudio
/
DiplomaProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/AnimationFunctions.gd
47 строк
3 KB
PGStudio
first_commit
21 июн 2026, 21:56
21 июн 2026, 21:56
69ac2dc
Код
Авторство
О чём код?
extends Node static func linear_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * t static func ease_in_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (t * t) static func ease_out_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (1.0 - (1.0 - t) * (1.0 - t)) static func ease_in_out_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (t * t * (3 - 2 * t)) static func ease_in_strong_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (t * t * t) static func ease_out_strong_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (1.0 - pow(1.0 - t, 3)) static func ease_in_back_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (t * t * (2.7 * t - 1.7)) static func ease_out_back_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (1.0 - (1.0 - t) * (1 - t) * (2.7 * (1 - t) - 1.7)) static func ease_in_out_back_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * ((pow(2.0 * t, 2.0) * ((2.6 + 1.0) * 2.0 * t - 2.6)) / 2.0 if t < 0.5 else (pow(2.0 * t - 2.0, 2.0) * ((2.6 + 1.0) * (2.0 * t - 2.0) + 2.6) + 2.0) / 2.0) static func ease_in_sine_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (1.0 - cos(t * PI / 2.0)) static func ease_out_sine_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (sin(t * PI / 2.0)) static func ease_in_out_sine_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * ((1.0 - cos(t * PI)) / 2.0) static func ease_in_elastic_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (sin(13.0 * PI / 2.0 * t) * pow(2.0, 10.0 * (t - 1.0))) static func ease_out_elastic_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (sin(-13.0 * PI / 2.0 * (t + 1.0)) * pow(2, -10.0 * t) + 1.0) static func ease_in_out_elastic_animation(start: Variant, end: Variant, time: Timer) -> Variant: var t: float = (time.wait_time - time.time_left) / time.wait_time return start + (end - start) * (0.5 * sin(13.0 * PI * t) * pow(2.0, 20.0 * t - 10.0) if t < 0.5 else 0.5 * (sin(-13.0 * PI * t) * pow(2.0, -20.0 * t + 10.0) + 2.0))