最近找了点pygame的文章看了看,就照着写了个小游戏,但还没写完。有一个bug我一直都想不通,先看代码
import sys # 导入sys模块
import pygame # 导入pygame模块
pygame.init() # 初始化pygame,检查游戏需要的一些硬件调用接口、系统功能接口是否有问题
size = width, height = 960, 650 # 设置窗口大小
screen = pygame.display.set_mode(size) # 显示窗口但是执行完程序就会关闭窗口
dimian = pygame.image.load("地面.png")
fzdimian=dimian.get_rect
caofangkuai = pygame.image.load("草方块.png") # 加载图片
fzcaofangkuai = caofangkuai.get_rect() # 根据图片大小获取矩形区域
clock=pygame.time.Clock()
yx=0
yy=0
screen.fill((10, 240, 235))
screen.blit(dimian, (0, 185))
while True:
caofangkuaixy = [yx, yy]
fzcaofangkuai = fzcaofangkuai.move(caofangkuaixy)
screen.blit(caofangkuai, fzcaofangkuai)
#screen.blit(dimian, (0, 185))
#screen.blit(caofangkuai, fuzhicaofangkuai)
# 获取所有的事件,例如点击窗口的时间、按下键盘的事件。由于事件的类型很多,程序不知道发生了哪一类事件所以需要不断的循环判断
for event in pygame.event.get():
if event.type == pygame.QUIT: # 如果点击关闭窗口,则退出
pygame.quit() # 退出pygame
sys.exit() # 推出系桶
if event.type == pygame.KEYDOWN and event.key == pygame.K_d:
yx+=2
if event.type == pygame.KEYDOWN and event.key == pygame.K_a:
yx-= 2
yx*=0.9
clock.tick(60)
pygame.display.flip() # 更新全部显示
为什么他会变成这个样子