【发布时间】:2020-10-12 12:55:49
【问题描述】:
这是我编写的代码的一部分。
enter code here
import pygame
from pygame.locals import QUIT, KEYDOWN, KEYUP,\
K_LEFT, K_RIGHT, K_DOWN, K_SPACE, K_UP
pygame.init()
pygame.key.set_repeat(30, 30)
while True:
to_x1 = 0
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.quit()
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
to_x1 = -5
if keys[pygame.K_RIGHT]:
to_x1 = 5
CHARIC_1.xpos1 = CHARIC_1.xpos1 + to_x1
CHARIC_1.xpos1 是角色的 x 坐标。 当我快速按两次左右键时,我想让我的角色跑得更快。 我不知道我的生活。如果你知道怎么做,我希望你告诉我。
【问题讨论】:
-
“快”是什么意思?什么规则可以告诉您按键是否足够靠近?然后什么?角色应该跑多快?角色应该一直以相同的速度奔跑直到……什么时候?您需要考虑实际需要发生什么的逻辑,然后它就会很简单:您只需要知道您必须记住哪些事情(例如“最后一次按键发生在多长时间前?”)以及什么处理这些信息。
-
但这对 Stack Overflow 来说都不是一个好问题。如果您需要 design 方面的帮助,您可以尝试 gamedev.stackexchange.com,但您仍然需要更准确地了解您希望如何工作。
-
很简单,(1)定义“快”; (2) 将按键状态保存到变量中; (3)研究如何获取系统时间;将其添加到您的按键处理程序中; (4) 当你得到左键或右键时,检查 (a) 是否与前一个相同; (b) 它是否与前一个“接近”?如果是这样,则酌情将运动参数增加到 10 或 -10。
-
你可以找到一个例子here