1
私は、PS4コントローラを接続して、画面の周りを特定のボールを動かそうとしています。コントローラに接続して、左のアナログスティックを動かすときに異なる値を返すことができます。あたかも画面を更新する必要があるような気がしますか?私はそれを理解するのに困っている。Pygameジョイスティックコントロール - 画面が更新されていませんか?
おかげ例えば、あなたがballrect
変数に割り当てる必要があり、新たな矩形を返しRect.move
import pygame
def main():
pygame.init()
size = width, height = 800, 800
black = 0, 0, 0
speed = [5,5]
screen = pygame.display.set_mode(size)
ball = pygame.image.load("ball1.jpg")
ballrect = ball.get_rect()
pygame.joystick.init()
joysticks = [pygame.joystick.Joystick(x) for x in
range(pygame.joystick.get_count())]
for joystick in joysticks:
joystick.init()
controller = joysticks[0]
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
ballrect.move(speed)
if controller.get_axis(0) < -.5:
speed[0] = -speed[0]
if controller.get_axis(0) > .5:
speed[0] = speed[0]
if controller.get_axis(1) < -.5:
speed[1] = speed[1]
if controller.get_axis(1) > .5:
speed[1] = -speed[1]
screen.fill(black)
screen.blit(ball, ballrect)
pygame.display.flip()
私は値が '場合x_axis_pos> 0.5またはx_axis_pos <-.5にない場合は、0に速度を設定する必要があることを言及するのを忘れてしまった:'範囲。 2つの 'else'節を追加するだけです。 – skrx
ありがとう、それはうまくいった!それは有り難いです。 –