中文编程系列-键盘控制移动的鸭子

# _*_ coding: utf-8 _*_
导入 pygame 作为 游戏
导入 time 作为 时间
从 pygame.locals 导入 *
从 sys 导入 exit

# 初始化pygame,为使用硬件做准备
游戏.init()

# 创建一个窗口
窗口 = 游戏.display.set_mode((640, 480), 0, 32)

# 设置窗口标题
游戏.display.set_caption("hello,world!")

# 加载图片并转换
鸭子图 = 游戏.image.load('duck.jpg')
#鸭子初始位置
x,y=50,50
#方向键是否按下
左移起效=假
右移起效=假
上移起效=假
下移起效=假

窗口.blit(鸭子图, (x, y))
窗口.fill((255,255,255))
# 游戏主循环
当 真:
    取 event 在 游戏.event.get():
        如果 event.type == QUIT:
            #退出程序
            exit()
        如果 event.type == KEYDOWN:
            如果 event.key == K_LEFT:
                左移起效 = 真
            如果 event.key == K_RIGHT:
                右移起效 = 真
            如果 event.key == K_UP:
                上移起效 = 真
            如果 event.key == K_DOWN:
                下移起效 = 真
                
        如果 event.type == KEYUP:
            如果 event.key == K_LEFT:
                左移起效 = 假
            如果 event.key == K_RIGHT:
                右移起效 = 假
            如果 event.key == K_UP:
                上移起效 = 假
            如果 event.key == K_DOWN:
                下移起效 = 假

    如果 左移起效:
        x=x-5
    如果 右移起效:
        x=x+5        
    如果 上移起效:
        y=y-5          
    如果 下移起效:
        y=y+5
        
    #背景填充成蓝色
    窗口.fill((255,255,255))
    窗口.blit(鸭子图, (x, y))
    # 刷新画面
    游戏.display.update()

    时间.sleep(0.05)

 

posted @ 2019-09-03 16:27  seawind2012  阅读(214)  评论(0编辑  收藏  举报