python笔记(三十五) pygame(2) 控制对象方向

实例

这里要引入键盘的按键
和事件类型
我们是在按下键盘的时候发生事件,所以是pygame.keydown

import pygame
import sys

# 初始化pygame
pygame.init()

size = width ,height = 900, 500
speed = [-2,1]
bg = (255,255,255)

clock = pygame.time.Clock()

# 创建指定大小的窗口
screen = pygame.display.set_mode(size)
# 设置窗口标题
pygame.display.set_caption("闲得发慌")

# 加载图片
people = pygame.image.load("p.gif")
# 获得图像位置矩形
position = people.get_rect()

# 图片方向
l_head = people
r_head = pygame.transform.flip(people,True,False)

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

        if event.type == pygame.KEYDOWN:           
            if event.key == pygame.K_a:
                people = l_head
                speed = [-2,0]
            if event.key == pygame.K_d:
                people = r_head
                speed = [2,0]
            if event.key == pygame.K_w:
                speed = [0,-2]
            if event.key == pygame.K_s:
                speed = [0,2]
            

    # 移动图像
    position = position.move(speed)

    if position.left < 0 or position.right > width:
        # 反转图像
        people = pygame.transform.flip(people,True,False)
        # 反向移动
        speed[0] = -speed[0]

    if position.top < 0 or position.bottom > height:
        speed[1] = -speed[1]

    # 填充背景
    screen.fill(bg)
    # 更新图像位置
    screen.blit(people,position)
    # 更新界面
    pygame.display.flip()
    # 延迟10毫秒
    #pygame.time.delay(5)

    # 控制帧率
    clock.tick(200)

多出来的语句是

# 图片方向
l_head = people
r_head = pygame.transform.flip(people,True,False)

-------------------------------------------------------------------------

 if event.type == pygame.KEYDOWN:           
            if event.key == pygame.K_a:
                people = l_head
                speed = [-2,0]
            if event.key == pygame.K_d:
                people = r_head
                speed = [2,0]
            if event.key == pygame.K_w:
                speed = [0,-2]
            if event.key == pygame.K_s:
                speed = [0,2]

这里的事件类型一定要加pygame不然会卡死
其次按键也要加pygame


按键

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值