1
私はプラットフォーマーを作ろうとしていますが、コードをどのようにしてコード化するかについて困惑していますが、上向きの矢印を押し続けると、移動を止めて抑制するまでy変更が1回だけ変化します。私はまだ重力になっていません。)私のコードはここにあります:Pygame:キーが離されるまで関数を一度だけ実行する方法はありますか?
import pygame
import time
import random
pygame.init()
display_width = 800
display_height = 600
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
car_width = 64
gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Platformer')
clock = pygame.time.Clock()
game_loop():
score = 0
x = (display_width * 0.45)
y = (display_height * 0.8)
y_change = -5
x_change = 0
gameExit = False
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -5
elif event.key == pygame.K_RIGHT:
x_change = 5
elif event.key == pygame.K_UP:
y_change = 25
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
gameloop()
pygame.quit()
quit()
誰かが助けることができますか?
ここにはかなりのコードがありません。あなたが達成しようとしていることは私には分かりません。 –
私はまだやっていません。私はちょうど上向きの矢印を保持しながらy_changeに25を追加し続けることを考えているだけです。 – PokeBros
コードを読んでも、あなたは25を追加し続けません。あなたはkeydownのイベントに25を追加します。 25回以上追加したい場合は、各期間に25を追加する定期的なイベントが必要になります。次に、キー状態をマークする状態変数が必要です。キーがダウンしている間に25が追加されます。 –