В настоящее время я застрял при попытке заставить мой танк двигаться, когда пользователь нажимает «a» и «d». Линии, включающие нажатие клавиши для перемещения танка, кажутся правильными, и я считаю, что должно работать. Я также впервые использую один из этих форумов. Пожалуйста, оставьте отзыв, чтобы я мог улучшить. Спасибо за вашу помощь.
Я обратился к моему учителю и друзьям за помощью, но все они задаются вопросом, почему танк не будет двигаться. Я также искал через Интернет и YouTube для ответов. Странно то, что мы с моим другом напрямую скопировали видео на YouTube о перемещении пользователя, где пользователь может перемещать прямоугольник вокруг. Мой друг может удерживать «w», «a», «s» или «d» для перемещения прямоугольника, но я не могу удерживать «w», «a», «s» или «d» для перемещения это но нужно спамить кнопку. Странно то, что когда вы перемещаете мышь, я могу удерживать клавиши «w», «a», «s» или «d».
import pygame
from pygame.locals import *
import math
import random
width = 640
height = 480
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("2 Player Tanks")
def gameloop():
pygame.init()
time = pygame.time.get_ticks()
screen.fill(white)
tankx = 100
tanky = 100
tankwidth = 40
tankheight = 20
turretwidth = 5
wheelwidth = 5
tankmove = 5
def tank(x,y):
x = int(x)
y = int(y)
pygame.draw.circle(screen,black,(x,y),10)
pygame.draw.rect(screen,black,(x-tankheight,y,tankwidth,tankheight))
pygame.draw.line(screen,black,(x,y),(x-20,y-20), turretwidth)
startx = 15
for i in range(7):
pygame.draw.circle(screen,black,(x-startx,y+20),wheelwidth)
startx -= 5
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
keys= pygame.key.get_pressed()
if keys[pygame.K_a]:
tankx -= tankmove
if keys[pygame.K_d]:
tankx += tankmove
if keys[pygame.K_w]:
tanky -= tankmove
if keys[pygame.K_s]:
tanky += tankmove
tank(tankx,tanky)
pygame.display.update()
gameloop()
Я хочу, чтобы игрок мог использовать «a» и «d» для горизонтального перемещения танка.