1. ホーム
  2. スクリプト・コラム
  3. パイソン

Pygame Timeコントロールの具体的な使用方法について説明します。

2022-01-27 13:47:07

pygame.time time controlモジュールはPygameでよく使われるモジュールで、その主な機能は時間とゲームのフレームレート(つまりFPS)を管理することです。

ゲーム開発において、スキルの解放にかかる時間や、アニメーションやサウンドの再生時間など、時間は非常に重要な役割を担っており、これらはすべて時間によって管理する必要があります。timeモジュールは、ゲームグラフィックの滑らかさを評価する重要な指標である、ゲームのフレームレート(=FPS)の制御にも重要な役割を担っています。一般的にパソコンのFPSは60fpsに到達すれば十分で、フレームレートが30を下回るとゲーム画面がギクシャクしてしまう。

なお、Pygameでは時間はミリ秒単位(1秒=1000ミリ秒)で計測されるので、より細かくゲームを設計することができます。

1)ゲームポーズ

Pygame.timeモジュールは、以下の表に示すような共通のメソッドを提供します。

<テーブル メソッド 説明 pygame.time.get_ticks()を使用します。  ミリ秒単位で時間を取得 pygame.time.wait() 一定時間、プログラムを一時停止させる pygame.time.set_timer()を実行します。 タイマーを作成する、つまり、あるアクションを実行するために、それほど頻繁に pygame.time.Clock()を使用します。 ゲームが何フレームで実行されるかを決定するのに役立つクロックオブジェクトを作成します。

以下、簡単な例をご覧ください。

from sklearn.feature_selection import VarianceThreshold
from sklearn.decomposition import PCA
import pandas as pd
def filter_Variance():
    '''
    Remove data with low variance
        Specify the threshold variance
        Call fit_transform
    :return:
    '''
    var = VarianceThreshold(threshold=1.0)

    data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])

    print(data)
    '''
    Default threshold=0.0
    [[2 0]]
     [1 4]
     [1 1]]
     
     Take the variance of 1.0
     [[0]]
      [4]
      [1] ]
    '''
    return None


上記のプログラムでは、3秒間の一時停止後に画像を読み込んでいます

2) ゲームFPSの設定

ゲームのフレームレート(FPS)を設定したい場合は、Clock()メソッドで行うことができ、以下の共通メソッドが提供されています。

<テーブル メソッド 説明 pygame.time.Clock.tick()を使用します。 時計オブジェクトを更新する pygame.time.Clock.get_time()を使用します。 最後の目盛りの時刻を取得する pygame.time.Clock.get_fps()を使用します。 時計オブジェクトのフレームレートを計算します

以下、簡単なサンプルアプリケーションのセットをご覧ください。

def pca():
    '''
    Principal component analysis, dimensionality reduction of data features
        Specify the reduced dimensionality
        Call fit_transform
    :return:
    '''
    pca = PCA(n_components = 0.9)
    data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)
    '''
    [[ 1.28620952e-15 3.82970843e+00]
     [ 5.74456265e+00 -1.91485422e+00]
     [ -5.74456265e+00 -1.91485422e+00]]
    '''
    return None

注:FPS(ゲームフレームレート)インパクト効果は、ダイナミックチャートでのみ表示されますが、その使用ルールはスタティックチャートとダイナミックチャートの両方で同じです。

Pygame Time controlの具体的な使い方については、以上となります。Pygame Time controlの詳細については、Script Houseの過去記事を検索するか、以下の記事を引き続き閲覧してください。