"""
迷你入侵非面向对象版本中文注释.py
这个版本用方块代替外星飞船和玩家。
玩家按空格键发射子弹,然后需要等一定的时间才能发射第二颗子弹。
这个机制是通过设定reloaded_event事件与配合reloaded逻辑变量实现的。
开始时reloaded是为True,当按空格键后,它的值变为False,这时设定
reloaded_event的发生时间。当时间到了,那么就把reloaded设为True,
并清除reloaded_event事件发生的时间。
"""
# 导入pygame模块
import pygame
# 每500毫秒发射一颗子弹
RELOAD_SPEED = 500
# 向两边及下向移动间隔时间
MOVE_SIDE = 1000
MOVE_DOWN = 3500
# 创建屏幕对象
screen = pygame.display.set_mode((300, 200))
clock = pygame.time.Clock()
pygame.display.set_caption("迷你入侵非面向对象版本中文注释")
# 创建自定义事件
move_side_event = pygame.USEREVENT + 1
move_down_event = pygame.USEREVENT + 2
# 重装子弹事件
reloaded_event = pygame.USEREVENT + 3
move_left, reloaded = True, True
invaders, colors, shots = [], [] ,[]
for x in range(15, 300, 15):
for y in range(10, 100, 15):
invaders.append(pygame.Rect(x, y, 7, 7))
colors.append(((x * 0.7) % 256, (y * 2.4) % 256))
# 给移动事件设置定时器
pygame.time.set_timer(move_side_event, MOVE_SIDE)
pygame.time.set_timer(move_down_event, MOVE_DOWN)
player = pygame.Rect(150, 180, 10, 7) # 玩家方块
需要查看完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
