Pygame Timeコントロールの具体的な使用方法について説明します。
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の過去記事を検索するか、以下の記事を引き続き閲覧してください。
関連
-
[解決済み】ValueError: NA / NaN値を含むベクトルでインデックスを作成できない
-
[解決済み】一連のリストのデカルト積を取得する?
-
[解決済み】npm - "Pythonの実行ファイル「python」が見つかりません。" env変数PYTHONを設定すればOKです。
-
[解決済み】divisi2のインストール時にVisual C++ for pythonがexit status 2で失敗する。
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] 私のコードに「無効なエントリ」と言うことができず、常にintでエラーになります。
-
[解決済み] Gensim: TypeError: doc2bow expects an array of unicode tokens on the input, not the single string
-
[解決済み] pyhiveを使用してリモートハイブにアクセスする方法
-
[解決済み] Pythonで再帰的平方根を作るにはどうしたらいいですか?
-
TypeError: データ型が理解できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PythonとPYAML - yaml.scanner.ScannerError: マッピングの値はここでは許可されません。
-
PythonでRuntimeWarning: invalid value encountered in double_scalars問題を解決する方法
-
Pythonを使用して、Desertプラグインを正常に呼び出すためのゲームランタイムスクリプトを開発する。
-
[解決済み】Python/Scikit-Learn - 多クラスと連続の混合を扱えない。
-
[解決済み] Pythonの並列リストの意味するところ
-
[解決済み] Djangoです。フォームのメールフィールドは、アドレスがあっても 'this field cannot be null/this field cannot be blank' を返します。
-
[解決済み] Pythonによるピッチ検出
-
[解決済み] Django で email フィールドを設定する方法は?
-
[解決済み] cElementtreeとElementTreeの違いは何ですか?
-
Python共通関数まとめ