Quick search

Animation(翻訳済み)

AnimationAnimationTransitionAnimationTransition をアニメーションさせるために使用されます。少なくともプロパティ名とターゲット値の指定が必要です。アニメーションを使用するには次の手順を実行します:

  • Animationオブジェクトの設定

  • WidgetでAnimation オブジェクトを使用する

Simple animation(シンプルなアニメーション)

Widgetのxまたはyの位置をアニメーションするにはWidget’s をアニメーションの最後に配置する場所のターゲットのx / y値を指定します:

anim = Animation(x=100, y=100)
anim.start(widget)

duration の指定がない場合アニメーションは1秒間続きます。 anim.start() iがコールされるとWidgetは現在のx / yの位置から (100, 100)にスムーズに移動します。

Multiple properties and transitions(複数のプロパティとトランジッション)

transition (または t= ショートカット)を使用することで複数のプロパティをアニメーション化してビルトインまたはカスタムトランジション関数を使用できます。たとえば ‘in_quad’ トランジションを使用して位置とサイズをアニメーションするには:

anim = Animation(x=50, size=(80, 80), t='in_quad')
anim.start(widget)

 t= パラメータには、AnimationTransition クラス内のメソッドの文字列名または独自のアニメーション関数を指定できます。

Sequential animation(シーケンシャルアニメーション)

アニメーションを順番に実行するには ‘+’ 演算子を使用します。次の例では、1秒間にx=50 にアニメーションされた後の次の2秒間にサイズが(80,80)にアニメーションされます。

anim = Animation(x=50) + Animation(size=(80, 80), duration=2.)
anim.start(widget)

Parallel animation(パラレルアニメーション)

アニメーションを並行して実行するには ‘&’ 演算子を使用します。次の例では、位置を (80, 10) に1秒間アニメーションするのと平行してサイズを (800, 800)にアニメショーンします:

anim = Animation(pos=(80, 10))
anim &= Animation(size=(800, 800), duration=2.)
anim.start(widget)

同じプロパティでオーバーラップするアニメーションを作成した場合に予期しない結果が生じる可能性があることに注意してください。同じプロパティに複数のアニメーションを適用する場合は順番にスケジューリング( ‘+’ 演算子または*on_complete* コールバックを使用する)するか、 cancel_all メソッドを使用して以前のアニメーションをキャンセルする必要があります。

Repeating animation(リピートアニメーション)

バージョン 1.8.0 で追加.

注釈

現在 ‘シーケンス’ アニメーションのみ実装されています。

アニメーションの繰り返しを設定するには、単に Sequence.repeat プロパティを True に設定します:

anim = Animation(...) + Animation(...)
anim.repeat = True
anim.start(widget)

停止やキャンセルなどのアニメーションのフロー制御にはアニメーションモジュールの既存のメソッドを使用します。

class kivy.animation.Animation(**kw)[ソース]

ベースクラス: kivy.event.EventDispatcher

Widgetをアニメーションさせるるために使用できるアニメーションの定義を作成します。

Parameters:
duration または d: float型でデフォルト値は1です。

アニメーションの長さで単位は秒です。

transition または t: str 型または 関数です。

アニメーションプロパティのトランジッションの関数。これは、:class:`AnimationTransition のメソッドの名前にできます

step または s: float型

アニメーションのミリ秒単位のステップ数です。デフォルト値は0です。つまり、フレームごとにアニメーションが更新されます。

アニメーションを更新する頻度を少なくするにはstepの値をfloatに設定します。たとえば30 FPSでアニメートする場合は、s = 1/30を使用します。

Events:
on_start`: animation, widget

Widgetでアニメーションが開始されたときに発火します。

on_complete: animation, widget

Widgetでアニメーションが完了または停止したときに発火します。

on_progress: animation, widget, 進捗

アニメーションの進み具合が変化したときに発火します。

バージョン 1.4.0 で変更: s/stepパラメータが追加されました。

バージョン 1.10.0 で変更: stepパラメーターのデフォルト値は1/60から0に変更になりました。

animated_properties

アニメーションに使用されたプロパティを返却します。

cancel(widget)[ソース]

以前のwidgetに適用されていたアニメーションをキャンセルします。 on_complete イベントがトリガー されない 以外は stop と同じ効果があります。

バージョン 1.4.0 で追加.

static cancel_all(widget, *largs)[ソース]

特定のWidget /プロパティのリストに関係するすべてのアニメーションをキャンセルします。 cancel を参照してください。

例えば:

anim = Animation(x=50)
anim.start(widget)

# and later
Animation.cancel_all(widget, 'x')

バージョン 1.4.0 で追加.

cancel_property(widget, prop)[ソース]

アニメーションが実行中でもプロパティを削除します。削除されたプロパティはアニメーションされません。それがアニメーションされている唯一または最後のプロパティだった場合はアニメーションはキャンセルされます( cancel を参照)

バージョン 1.4.0 で追加.

duration

アニメーションの実行時間を返却します。

have_properties_to_animate(widget)[ソース]

Widgetがアニメーション用のプロパティを保持していた場合はTrueを返却します。

バージョン 1.8.0 で追加.

start(widget)[ソース]

Widgetのアニメーションをスタートします。

stop(widget)[ソース]

以前にWidgetに適用されたアニメーションを停止して on_complete イベントを発生させます。

static stop_all(widget, *largs)[ソース]

特定のWidget /プロパティのリストに関係するすべてのアニメーションを停止します。

例えば:

anim = Animation(x=50)
anim.start(widget)

# and later
Animation.stop_all(widget, 'x')
stop_property(widget, prop)[ソース]

アニメーションが実行中であってもプロパティを削除します。プロパティはアニメーションされません。それがアニメーション化されている唯一または最後のプロパティだった場合、アニメーションは停止します( stop を参照してください)。

transition

アニメーションのトランジッションを返却します。

class kivy.animation.AnimationTransition[ソース]

ベースクラス: builtins.object

Animationオブジェクトで使用するアニメーション関数のコレクションでう。 Clutterプロジェクト(https://developer.gnome.org/clutter/stable/ClutterAlpha.html)からKivyに移植された関数です。

各アニメーション関数の `progress`パラメータは0-1の範囲です。

static in_back(progress)[ソース]
_images/anim_in_back.png
static in_bounce(progress)[ソース]
_images/anim_in_bounce.png
static in_circ(progress)[ソース]
_images/anim_in_circ.png
static in_cubic(progress)[ソース]
_images/anim_in_cubic.png
static in_elastic(progress)[ソース]
_images/anim_in_elastic.png
static in_expo(progress)[ソース]
_images/anim_in_expo.png
static in_out_back(progress)[ソース]
_images/anim_in_out_back.png
static in_out_bounce(progress)[ソース]
_images/anim_in_out_bounce.png
static in_out_circ(progress)[ソース]
_images/anim_in_out_circ.png
static in_out_cubic(progress)[ソース]
_images/anim_in_out_cubic.png
static in_out_elastic(progress)[ソース]
_images/anim_in_out_elastic.png
static in_out_expo(progress)[ソース]
_images/anim_in_out_expo.png
static in_out_quad(progress)[ソース]
_images/anim_in_out_quad.png
static in_out_quart(progress)[ソース]
_images/anim_in_out_quart.png
static in_out_quint(progress)[ソース]
_images/anim_in_out_quint.png
static in_out_sine(progress)[ソース]
_images/anim_in_out_sine.png
static in_quad(progress)[ソース]
_images/anim_in_quad.png
static in_quart(progress)[ソース]
_images/anim_in_quart.png
static in_quint(progress)[ソース]
_images/anim_in_quint.png
static in_sine(progress)[ソース]
_images/anim_in_sine.png
static linear(progress)[ソース]
_images/anim_linear.png
static out_back(progress)[ソース]
_images/anim_out_back.png
static out_bounce(progress)[ソース]
_images/anim_out_bounce.png
static out_circ(progress)[ソース]
_images/anim_out_circ.png
static out_cubic(progress)[ソース]
_images/anim_out_cubic.png
static out_elastic(progress)[ソース]
_images/anim_out_elastic.png
static out_expo(progress)[ソース]
_images/anim_out_expo.png
static out_quad(progress)[ソース]
_images/anim_out_quad.png
static out_quart(progress)[ソース]
_images/anim_out_quart.png
static out_quint(progress)[ソース]
_images/anim_out_quint.png
static out_sine(progress)[ソース]
_images/anim_out_sine.png