まず、私は現在のコメントに対処します。 MattDoは正しいです、これはコード作成サービスではなく、人々が問題を理解するのを手助けする方法や、なぜ作品が動作するのか、なぜ動作しないのかを理解する方法です。 に最初にを試みることをお勧めします。あなたがそれを理解できない場合は、質問してください。 marienbadのリンクは画像を移動させますが、不便な方法で行います。そのリンクのコードは、特定のキーを押すたびに画像を移動します(便利ですが、チェックアウトすることをお勧めします)が、キーを押したまま移動するといいです。
キーを押しながら移動するイメージを取得するのは難しいです。私の好みはブール値を使うことです。
ダニ法を使用していない場合は、今すぐ中止して、適所に取得してください。 Pygame.org/docsを見て、それを行う方法を見て、彼らは素晴らしいサンプルコードを持っています。あなたがそれを制限しなければあなたのコンピュータが処理することができるので、あなたの動きを見ることさえできないかもしれないので、このループは速く動くので、あなたはそれなしで動きません。
from pygame.locals import * # useful pygame variables are now at your disposle without typing pygame everywhere.
speed = (5, 5) # Amount of pixels to move every frame (loop).
moving_up = False
moving_right = False
moving_down = False
moving_left = False # Default starting, so there is no movement at first.
上記コードはあなたのwhileループのためのコードです。あなたのイベントforループは、コードを改善するためにわずかに変更する必要があります。関数をここに置くことをお勧めします。これらのif文をすべて削除するために辞書を使用することをお勧めします。指す。 event.quitのようないくつかの詳細は除外しています。
キーアップ部分を含めないと、あなたのキャラクターは決して動かなくなります!それらが移動するように設定されている場合
以降のループで次に
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_w:
moving_up = True
if event.key == K_d
moving_right = True
if event.key == K_s:
moving_down = True
if event.key == K_a:
moving_left = True
if event.type == KEYUP:
if event.key == K_w:
moving_up = False # .. repeat this for all 4.
...
if moving_up:
y_coord += -speed[1] # Negative speed, because positive y is down!
if moving_down:
y_coord += speed[1]
if moving_right:
x_coord += speed[0]
if moving_left:
x_coord += -speed[0]
今すぐあなたのx/y座標は、あなたのイメージをブリットするために使用される、変更されます!このシナリオではelifを使用しないようにしてください。2つのキーを保持している場合は、北東に移動できるように、キーと組み合わせて移動することができます。
スタックオーバーフローは、コード作成サービスまたはチュートリアルサービスではありません。あなたの質問を編集して、入力や期待される出力、エラーやトレースバックのフルテキスト**など、これまでに試したことを投稿してください。 – MattDMo
[リンク] http://stackoverflow.com/questions/35818505/pygame-the-rectangle-is-not-moving/35826041#35826041 – marienbad