""" 迷你入侵非面向对象版本中文注释.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资源。)
发表评论