ロケットスプライトの読み込みと、イメージとしてのロケットスプライトの読み込みとそれをpygameのスプライトとして設定することの違いは何ですか?pygame:イメージとスプライトの違いは何ですか?
答えて
は、私はあなただけの用語について混乱してきていると思います。あなたはディスク上の画像を参照するために "スプライト"を使用していますが、それは単なる画像ファイルです。
screen.blit(rocket_img, (x, y))
- スプライト
スプライト:あなたは、その後であなたが望む任意の場所にこのイメージを描くことができます
rocket_img = pygame.image.load('rocket.png').convert_alpha()
:あなたのロケット例を使用するには、このようなイメージをロードしますPygameには組み込みの機能がすべて組み込まれたオブジェクトがあります。 Sprites にはの画像がありますが、その多くはもっとたくさんあります。さらに、スプライトをグループにまとめることで、更新や描画が容易になります。スプライトには、衝突機能が組み込まれています。位置、速度、アニメーションなどを追跡する独自のプロパティを追加できます。
シンプルスプライト:
class Rocket(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('rocket.png').convert_alpha()
self.rect = self.image.get_rect()
def update(self):
self.rect.x += 1
これはあなたが
screen.blit(rocket.image, rocket.rect)
を使って描くことができ、それはゆっくりと動く
rocket = Rocket()
を使用してインスタンス化しますロケットスプライトだろう右へ(ゲームループでupdate()を呼び出すと:
rocket.update()
スプライトのドキュメントを見ることをお勧めします。スプライトをたくさん使って作業することが非常に簡単になるように、グループでもっとたくさんのことができます。ディスク上の画像ファイルを扱うために使用されている「画像」 -
「イメージ」は一般に画像ファイルのみを参照します:イメージファイルをインポートしてディスクにエクスポートすることです。ピクセルを保持するPythonオブジェクトである "Surface"オブジェクトがあり、他のサーフェスにスタンプを付けたり、変形(回転/回転)したり、他のサーフェスを生成したりすることができます。
メイン画面自体はSurfaceサブクラスなので、ディスクイメージから読み取られたデータをSurfaceにスタンプするときは、blit
メソッドを使用してイメージが画面に表示されます。
スプライトは、ゲーム内のオブジェクトの基本クラスであり、ピクセルデータが添付されていることに依存しない場合もあります。 Pygame APIの中には、Spriteオブジェクトがrect
属性を持つことが必要であり、これはサーフェスでレンダリングされる位置とimage
属性を表します。それが使用される場合、sprite.image
属性はサーフェスオブジェクトを保持する必要があります。通常、ディスクから読み込みます(ただし、プログラムで描画されている可能性があります)。
スプライトイメージ属性を使用する主な呼び出しは、Group.draw()
メソッドです。
しかし、対話型のゲームとはまったく異なるゲームを作成することは可能です。たとえば、スプライトやグループのクラスを使用して、画面上に何も置かずに、MMOゲームのサーバー側となるゲームを作成することはできません。スプライト上のimage
属性の使用。
ワース読書: https://www.pygame.org/docs/ref/sprite.html
逆に、あなたはスプライトとグループが提供するすべてのヘルパーのロジックをバイパスし、しかサーフェスオブジェクトを持つことになりますゲームを作成することができます - ディスクから読み取った画像を表すを。追跡する責任があるのは、spriteグループのelpeメソッドを使用せずに、それらを描画するタイミングと時間です。画像は、ピクセルの単なる集合体である
- 画像:
- 1. pygameのscreen.blit(player、(xpos、ypos))とdisplay.flip()の違いは何ですか?
- 2. pygameのスプライトはすぐ
- 3. Pygameとスプライトの衝突
- 4. Vulkanのフレームバッファとイメージの違いは何ですか?
- 5. イメージなしのスプライトを表示する - PyGame
- 6. ファビコンとイメージの違いは何ですか?
- 7. selection.jsonとSVGスプライトをIcomoonにインポートする違いは何ですか?
- 8. SVGスプライトとは何ですか?
- 9. 私のpygameスプライトが移動しない
- 10. SVGインラインまたはイメージとしてのアクセシビリティの違いは何ですか?
- 11. Pygame:2つのスプライトを制御する
- 12. Python pygame - オフスクリーンのスプライトを削除する
- 13. $と$$の違いは何ですか?
- 14. `##`と `hashCode`の違いは何ですか?
- 15. typedefとの違いは何ですか?
- 16. NodeJS:「./ ..」と「..」の違いは何ですか?
- 17. {}())と{})の違いは何ですか?
- 18. `&`と `ref`の違いは何ですか?
- 19. `==`と `is`の違いは何ですか?
- 20. difftimeと ' - 'の違いは何ですか?
- 21. #{} $ {}と%{}の違いは何ですか?
- 22. ⊕と+の違いは何ですか?
- 23. アペンダーと〜の違いは何ですか?
- 24. "./"と "../"の違いは何ですか?
- 25. "$^N"と "$ +"の違いは何ですか?
- 26. %Qと%{}の違いは何ですか?
- 27. バックスティックと$()の違いは何ですか?
- 28. A`と ``の違いは何ですか[:] `
- 29. Pygame:イメージを落とすにはどうすればいいですか?
- 30. pygameで目に見えないスプライトを作る方法は? (Python)
は、pygameの内部で、ピクセルを保持しているオブジェクトは、「表面」と呼ばれていることに注意してください。 – jsbueno
確かに、説明をいただきありがとうございます。 – Chris