※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
FPS の enum¶
このページではFPS
のenumのクラスについて説明します。
クラス概要¶
FPS
のenumのクラスは各FPS(frames per second)の定義です。タイマーが実行間隔を決めるために主にこのenumを使用しています。
基本的な使い方¶
FPSのenumの定義は5間隔(15, 20, 25, 30等)で存在します。Timer
クラスのdelay
引数はFPS
のenumの値を受け付けることができます。例えばFPS.FPS_60
の値をdelay
引数に指定した場合、タイマーの間隔は約16.6666667
ミリ秒ごととなります。同じようにFPS.FPS_30
を指定すると33.3333333
ミリ秒ごとの間隔となります。
from typing_extensions import TypedDict
import apysc as ap
class _RectOptions(TypedDict):
rectangle: ap.Rectangle
def on_timer(e: ap.TimerEvent, options: _RectOptions) -> None:
"""
The handler that the timer calls.
Parameters
----------
e : ap.TimerEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = options["rectangle"]
rectangle.rotation_around_center += 1
ap.Stage(
stage_width=350,
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_1: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
options: _RectOptions = {"rectangle": rectangle_1}
timer_1: ap.Timer = ap.Timer(handler=on_timer, delay=ap.FPS.FPS_10, options=options)
timer_1.start()
rectangle_2: ap.Rectangle = sprite.graphics.draw_rect(x=150, y=50, width=50, height=50)
options = {"rectangle": rectangle_2}
timer_2: ap.Timer = ap.Timer(handler=on_timer, delay=ap.FPS.FPS_30, options=options)
timer_2.start()
rectangle_3: ap.Rectangle = sprite.graphics.draw_rect(x=250, y=50, width=50, height=50)
options = {"rectangle": rectangle_3}
timer_3: ap.Timer = ap.Timer(handler=on_timer, delay=ap.FPS.FPS_60, options=options)
timer_3.start()
ap.save_overall_html(dest_dir_path="fps_basic_usage/")