如何解决我希望我的播放器图像左右移动
我是编程新手,我需要帮助来左右移动我的播放器(图像)(希望有键绑定)
我真的不知道我在做什么,我只是需要帮助,请帮忙
这是我目前的代码:
import pygame
# Intialize the pygame
pygame.init()
# Resulution?
screen = pygame.display.set_mode((800,600))
# Title and logo
pygame.display.set_caption("Båtisens Herre")
icon = pygame.image.load('img.png')
pygame.display.set_icon(icon)
#Background
background = pygame.image.load("bakgrunn.png")
# Player
playerImg = pygame.image.load('King Arthur2.png')
playerX = 100
playerY = 200
def player(x,y):
screen.blit(playerImg,(x,y))
#game loop
running = True
while running:
# RGB (red,green blue)
screen.fill((248,58,226))
playerY -=0
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
#Background(2)
screen.blit(background,(0,))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player(playerX,playerY)
pygame.display.update()
解决方法
您必须更改播放器的 x 坐标。例如,按 a 和 d 移动玩家:
#game loop
clock = pygame.time.Clock()
running = True
while running:
clock.tick(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
playerX -= 1
if keys[pygame.K_d]:
playerX += 1
screen.blit(background,(0,))
player(playerX,playerY)
pygame.display.update()
说明:
pygame.key.get_pressed()
返回一个包含每个键状态的序列。如果某个键被按下,则该键的状态为 True
,否则为 False
。使用 pygame.key.get_pressed()
评估按钮的当前状态并获得连续移动。
pygame.event.get()
获取所有消息并将它们从队列中删除。请参阅文档:。请参阅文档:
这将获取所有消息并将它们从队列中删除。 [...]
如果在多个事件循环中调用 pygame.event.get()
,则只有一个循环接收事件,但不会所有循环都接收所有事件。因此,似乎错过了一些事件。
使用 pygame.time.Clock
控制每秒帧数,从而控制游戏速度。
tick()
对象的方法 pygame.time.Clock
以这种方式延迟游戏,即循环的每次迭代消耗相同的时间段。见pygame.time.Clock.tick()
:
这个方法应该每帧调用一次。
这意味着循环:
clock = pygame.time.Clock()
run = True
while run:
clock.tick(100)
每秒运行 100 次。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。