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.
- update_velocity(dt)[source]¶
(внутренний) Обновить скорость в соответствии с интервалом кадров и трением.
- value¶
Значение (во время движения и вычисленное) эффекта.
value
- этоNumericProperty
и по умолчанию равно 0.
- velocity¶
Скорость движения.
velocity
- этоNumericProperty
и по умолчанию равно 0.