首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用d-pad移动矩形

用d-pad移动矩形
EN

Stack Overflow用户
提问于 2020-10-29 21:54:07
回答 1查看 78关注 0票数 1

我试图通过使用键盘上的d-pad移动一个矩形来理解游戏的基本原理,但是矩形并没有移动它停留在它的初始位置。

代码语言:javascript
复制
import pygame
import sys

x1=0
y1=0
x2=100
y2=100

pygame.init()
screen=pygame.display.set_mode((288,512))
clock=pygame.time.Clock()
x = pygame.draw.rect(screen, (0, 255, 0), (0, 0, x2, y2))

while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type==pygame.KEYDOWN:
            if event.key==pygame.K_DOWN:
               y1-=100



pygame.display.update()
clock.tick(120)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 22:02:06

你必须在每一帧中重新绘制整个场景。这意味着您必须清除显示,绘制矩形并更新每个帧中的显示。

此外,您要在位置绘制矩形(x1,y1)。使用pygame.draw.rect时,必须指定矩形的左上角位置和宽度和高度:

代码语言:javascript
复制
import pygame
import sys

x1, y1, w1, h1 = 0, 0, 100, 100

pygame.init()
screen=pygame.display.set_mode((288,512))
clock=pygame.time.Clock()

while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type==pygame.KEYDOWN:
            if event.key==pygame.K_DOWN:
               y1 += 10

    screen.fill(0)
    x = pygame.draw.rect(screen, (0, 255, 0), (x1, y1, w1, h1))
    pygame.display.update()
    clock.tick(120)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64599741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档