0
点赞
收藏
分享

微信扫一扫

鼠标事件 移动与按下 pygame 230209


import pygame

# 初始化

# 加载背景图片
bg = pygame.image.load("images/background.png")
bg2 = bg.copy()
bg_rect = bg.get_rect()
bg_rect2 = bg2.get_rect()
bg_rect2.bottomleft = (0, 0)
# 设置游戏屏幕
screen_size = bg_rect.size
screen_rect = bg_rect.copy()
screen = pygame.display.set_mode(screen_size)
# 加载英雄飞机
hero = pygame.image.load("images/me1.png")
hero_rect = hero.get_rect()
hero_speed = 5
# 设置飞机的位置为屏幕正中间
# 飞机的中央x=屏幕的中央x
hero_rect.centerx = screen_rect.centerx
# 飞机的底部 = 屏幕的高度-30
hero_rect.bottom = screen_rect.height - 30

# 加载时钟对象
clock = pygame.time.Clock()

# 游戏循环
while True:
# 设置游戏帧率
clock.tick(15)
# 鼠标与键盘操作的监听
events = pygame.event.get()
# 遍历事件列表
if events:
for event in events:
if event.type == pygame.QUIT:
exit(886)
if event.type == pygame.MOUSEMOTION:
print(event.pos)
hero_rect.center = event.pos
if event.type == pygame.MOUSEBUTTONDOWN:
# 如果鼠标点击左键,发射子弹
if event.button == 1:
print("发子弹。。。")
# 如果鼠标点击右键,放大招
if event.button == 3:
print("放大招。。。")
# 计算相关数据
# 让背景的y变大
bg_rect.y += 5
bg_rect2.y += 5
# 位置的校正
if bg_rect.y >= screen_rect.height:
bg_rect.bottom = 0
if bg_rect2.y >= screen_rect.height:
bg_rect2.bottom = 0
# 让飞机的y变小
# hero_rect.y -= hero_speed
# 屏幕绘制背景
screen.blit(bg, bg_rect)
screen.blit(bg2, bg_rect2)
# 屏幕绘制英雄
screen.blit(hero, hero_rect)
# 更新显示
pygame.display.update()

举报

相关推荐

0 条评论