2016-03-31 14 views
2

in_place関数と非ip関数の違いは何ですか?なぜそれらが存在しますか? いつmove()inflate()move_ip()inflate_ip()を使用するのはいつですか?Pygameインプレース方式

答えて

4

インプレース機能はうまく機能します。それらはあなたがそれらを呼び出すRectを変更する一方で、非現場関数は変更に応じてRectクラスの新しいインスタンスを返します。

Rectを実際に変更したい場合は、いつでも使用できます。あなたは

s = SomeSpriteClass() 
s.rect.move_ip(100, 0) 

代わりの右にSprite 100ピクセルを移動するための

s = SomeSpriteClass() 
s.rect = s.rect.move(100, 0) 

を使用することができ、Spriteを持って、それを移動したいです。

Rectを実際に変更したくない場合は、非現場機能を使用します。カメラ機能の実装のような計算をしたいときだけです。

+0

したがって、オブジェクトの新しいコピーを作成して返さないため、 'ip'関数はリソースを予約していますか? – amirteymuri