如何解决我想连续画一条可以通过按键转动的线
我是编程新手,想通过在pygame中重新创建tron进行练习。但是我不知道如何画出我会连续前进并被按键按下的线条。预先感谢您的帮助
解决方法
欢迎使用StackOverflow!您应该先尝试一下,然后当某事不起作用时,再寻求帮助,这样我们就知道您已尝试过什么,并且不解释如何做您已经做过的事情。
尽管如此,您仍需要一个朝同一方向行驶的玩家,因此您需要一个变量来确定玩家在屏幕上的位置及其方向/速度
如此
player_pos = [200,200] #start position
player_vel = [1,0] #start moving to the right
现在在游戏循环中,您可以绘制玩家并更新位置
while running: #game loop
pygame.draw.circle(screen,(255,0),player_pos,5) #draw the player
player_pos[0] += player_vel[0] #update the x position of the player
player_pos[1] += player_vel[1] #update the y position of the player
现在您想在按下键时更改方向,我使用wasd进行移动。
for event in pygame.event.get():
if event.type == pygame.QUIT:
# stop game loop
running = False
pygame.quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_d:
player_vel = [1,0] #move
if event.key == pygame.K_a:
player_vel = [-1,0]
if event.key == pygame.K_w:
player_vel = [0,-1]
if event.key == pygame.K_s:
player_vel = [0,1]
按此键可以使播放器真正快速移动,因此可以降低速度,我们可以限制fps
clock = pygame.time.Clock()
#in game loop
clock.tick(100) #limit it to 100 fps
所有代码都放在这里
import pygame
pygame.init()
screen = pygame.display.set_mode((500,500)) #setup the screen
player_pos = [200,200] # start position
player_vel = [1,0] # start moving to the right
clock = pygame.time.Clock()
screen.fill((255,255,255))
running = True
while running: # game loop
pygame.draw.circle(screen,5) # draw the player
player_pos[0] += player_vel[0] # update the x position of the player
player_pos[1] += player_vel[1] # update the y position of the player
clock.tick(100)
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
# stop game loop
running = False
pygame.quit()
break
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_d:
player_vel = [1,0]
if event.key == pygame.K_a:
player_vel = [-1,1]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。