※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
各アニメーションのインターフェイスの返却値¶
このページではanimation_move
などの各アニメーションのインターフェイスの返却値について説明します。
各インターフェイスはAnimationBaseのサブクラスのインスタンスを返却します¶
各アニメーション関係のインターフェイスはAnimationBase
のサブクラスのインスタンスを返却します。例えばanimation_move
インターフェイスであればAnimationMove
クラスのインスタンスを返却し、animation_x
であればAnimationX
クラスのインスタンスを返却します。
AnimationBase
クラスはアニメーションの開始用のstart
メソッドやアニメーション終了時のイベント登録用のanimation_complete
メソッドなどの基本的な共通のアニメーション関係のインターフェイスを持っています。
基本的な使い方¶
返却された各値のクラスはapyscのパッケージに含まれています(例: ap.AnimationMove
など)。そのためそれらを使用して型アノテーションを行うことができます。
以下のコード例ではanimation_x
メソッドを使用しており、返却値としてAnimationX
クラスのインスタンスを受け取っています。加えてAnimationX
クラスのインスタンスを参照してアニメーション完了時のイベントを設定したりアニメーションを開始したり等を行っています。
import apysc as ap
DURATION: int = 1000
def on_animation_complete_1(e: ap.AnimationEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the animation calls when its end.
Parameters
----------
e : ap.AnimationEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this.target
animation_x: ap.AnimationX = rectangle.animation_x(x=50, duration=DURATION)
animation_x.animation_complete(on_animation_complete_2)
animation_x.start()
def on_animation_complete_2(e: ap.AnimationEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the animation calls when its end.
Parameters
----------
e : ap.AnimationEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this.target
animation_x: ap.AnimationX = rectangle.animation_x(x=100, duration=DURATION)
animation_x.animation_complete(on_animation_complete_1)
animation_x.start()
ap.Stage(
stage_width=200,
stage_height=150,
background_color=ap.Color("#333"),
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
sprite.graphics.begin_fill(color=ap.Color("#0af"))
rectangle: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
animation_x: ap.AnimationX = rectangle.animation_x(x=100, duration=DURATION)
animation_x.animation_complete(on_animation_complete_1)
animation_x.start()
ap.save_overall_html(dest_dir_path="./animation_return_value_basic_usage/")