キーを押し続けて自動的に四角形を移動しようとしています。私はpygame.key.get.pressed()
をpygame.key.get.focused()
に変更しようとしましたが、まだ何もありません。 CODE、それでも同じ問題(KEYDOWNイベントを含んで)で更新矩形を移動するためのキーの押下
import pygame
pygame.init()
screen = pygame.display.set_mode((400,300))
pygame.display.set_caption("shield hacking")
JogoAtivo = True
GAME_BEGIN = False
# Speed in pixels per frame
x_speed = 0
y_speed = 0
cordX = 10
cordY = 100
def desenha():
screen.fill((0, 0, 0))
quadrado = pygame.draw.rect(screen, (255, 0, 0), (cordX, cordY ,50, 52))
pygame.display.flip();
while JogoAtivo:
for evento in pygame.event.get():
print(evento)
#verifica se o evento que veio eh para fechar a janela
pressed_keys = pygame.key.get_pressed()
if evento.type == pygame.QUIT:
JogoAtivo = False
pygame.quit();
if pressed_keys[pygame.K_SPACE]:
print('GAME BEGIN')
GAME_BEGIN = True
desenha();
if pressed_keys[pygame.K_LEFT] and GAME_BEGIN:
speedX=-3
cordX+=speedX
desenha()
if pressed_keys[pygame.K_RIGHT] and GAME_BEGIN:
speedX=3
cordX+=speedX
desenha()
。
import pygame
pygame.init()
screen = pygame.display.set_mode((400,300))
pygame.display.set_caption("shield hacking")
JogoAtivo = True
GAME_BEGIN = False
# Speed in pixels per frame
x_speed = 0
y_speed = 0
cordX = 10
cordY = 100
def desenha():
screen.fill((0, 0, 0))
quadrado = pygame.draw.rect(screen, (255, 0, 0), (cordX, cordY ,50, 52))
pygame.display.flip();
while JogoAtivo:
for evento in pygame.event.get():
print(evento)
#verifica se o evento que veio eh para fechar a janela
if evento.type == pygame.QUIT:
JogoAtivo = False
pygame.quit();
if evento.type == pygame.KEYDOWN:
if evento.key == pygame.K_SPACE:
print('GAME BEGIN')
GAME_BEGIN = True
desenha();
if evento.type == pygame.KEYDOWN:
if evento.key == pygame.K_LEFT:
speedX=-3
cordX+=speedX
desenha()
if evento.type == pygame.KEYDOWN:
if evento.key == pygame.K_RIGHT:
speedX=3
cordX+=speedX
desenha()
コードを更新しましたが、同じ問題が残っています:* KEYDOWNを条件文としてキーに設定します – Aury0n
英語でコードを書くと、おそらくもっと多くの人が役に立ちます。また、同じ条件をチェックする3つのif文を使用しています。すべてのコードを1つのif文の下に置くことができます。 Pythonは通常、行の最後にセミコロン( ';')を使用しません。あなたの場合は、それらをすべてあなたのプログラムから削除することができます。 –
また、スクリプトの問題は何ですか?あなたは指定する必要があります。私が見ることができる問題は、コードの構造です。たぶんあなたはいくつかのチュートリアルを最初にチェックアウトする必要がありますか? [ここにあなたが始めるための簡単な情報があります](http://stackoverflow.com/documentation/pygame/3959/introduction-to-pygame/14697/a-simple-game#t=201610121006455484266) –