Версия 2.1.0

Quick search

Table Of Contents

Кинетический эффект

Добавлено в версии 1.7.0.

KineticEffect - это базовый класс, который используется для вычисления скорости на основе движения. Когда движение завершается, эффект будет вычислять позицию движения в соответствии со скоростью и уменьшать скорость с помощью трения. Движение останавливается, когда скорость равна 0.

Концептуально использование может выглядеть следующим образом:

>>> effect = KineticEffect()
>>> effect.start(10)
>>> effect.update(15)
>>> effect.update(30)
>>> effect.stop(48)

Со временем вы начнете движение с какого-то значения, обновите его и остановите движение. На этот момент вы получите значение движения в KineticEffect.value. В приведенном вручную примере вычисленная скорость будет:

>>> effect.velocity
3.1619100231163046

После нескольких взаимодействий с часами скорость будет уменьшаться в соответствии с KineticEffect.friction. Вычисленное значение будет сохранено в KineticEffect.value. Результатом этого value может быть:

46.30038145219605
54.58302451968686
61.9229016256196
# ...
class kivy.effects.kinetic.KineticEffect(**kwargs)[source]

Базовый класс для кинетического эффекта. См. документацию модуля для получения дополнительной информации.

cancel()[source]

Отменить движение. Это может использоваться, если stop() не может быть вызвано. Это сбросит значение is_manual на False и вычислит движение, если скорость > 0.

friction

Трение, применяемое к скорости

friction - это NumericProperty и по умолчанию равно 0.05.

is_manual

Указывает, выполняется ли движение (True) или нет (False).

is_manual - это BooleanProperty и по умолчанию равно False.

max_history

Сохранить до max_history значений движения в истории. Это используется для правильного вычисления скорости в соответствии с движением.

max_history - это NumericProperty и по умолчанию равно 5.

min_distance

Минимальное расстояние для движения со скоростью, не равной нулю.

Новое в версии 1.8.0.

min_distance - это NumericProperty и по умолчанию равно 0.1.

min_velocity

Скорость, ниже которой она нормализуется до 0. Иными словами, любое движение, скорость которого падает ниже этого числа, останавливается.

Новое в версии 1.8.0.

min_velocity - это NumericProperty и по умолчанию равно 0.5.

start(val, t=None)[source]

Начать движение.

Параметры
val: float или int

Значение движения

t: float, по умолчанию None

Время, когда происходит движение. Если время не установлено, будет использовано time.time()

std_dt
std_dt

коррекция update_velocity, если dt не постоянное

Новое в версии 2.0.0.

std_dt - это NumericProperty и по умолчанию равно 0.017.

stop(val, t=None)[source]

Остановить движение.

См. start() для аргументов.

update(val, t=None)[source]

Обновить движение.

См. start() для аргументов.

update_velocity(dt)[source]

(внутренний) Обновить скорость в соответствии с интервалом кадров и трением.

value

Значение (во время движения и вычисленное) эффекта.

value - это NumericProperty и по умолчанию равно 0.

velocity

Скорость движения.

velocity - это NumericProperty и по умолчанию равно 0.