""" 雷电射击游戏_精灵模块简版 本程序需要Python精灵模块V1.31以上版本支持, 作者:李兴球 @ 2020/3/16 本程序的所有敌机是图章,它们可以移动,使用overlap_with进行碰撞检测..... """ from sprites import * # 从精灵模块导入所有命令 enemies_amounts = 200 # 敌机数量 title = '雷电射击游戏_精灵模块简版' bgs = ['res/w1.png','res/w2.png','res/w3.png'] exps = ['res/explosion0.png','res/explosion1.png'] screen = Screen() # 新建屏幕 screen.setup(960,720) # 设定屏幕宽高 screen.tracer(0,0) # 关闭自动刷新和绘画版时 screen.title(title) # 设定屏幕所在窗口标题 PlaySound('res/Tragedy Flame.wav',SND_ASYNC|SND_LOOP) index = 0 # 定义变量,做为背景表的索引 def alt_background(): global index screen.bgpic(bgs[index]) # 设定背景图片 index = index + 1 # index增加1 index = index % 3 # index对3求余 screen.ontimer(alt_background,50) # 50毫秒后再次运行函数 alt_background() plane = Sprite(shape='res/敌机1.png',pos=(0,720)) for _ in range(enemies_amounts): # 这里生成一定数量的敌机 x = random.randint(-480,480) y = random.randint(720,5440) plane.goto(x,y) plane.stamp() bs = Group('zd') # 新建bs组,它们的标签为zd def shoot(): if framecounter % 3 == 0 : bullet = Sprite(shape='circle',visible=False,tag='zd') bullet.color('yellow') bullet.scale(0.5) bullet.goto(player.pos()) bullet.show() player = Sprite(shape='res/thunder.png') # 玩家操作的飞机 player.scale(0.5) player.sety(-240) leftkey = Key('a') # 新建a键 rightkey = Key('d') # 新建d键 upkey = Key('w') # 新建w键 downkey = Key('s') # 新建s键 shootkey = Key('j') # 新建j键 screen.listen() # 监听屏幕 w = Sprite(visible=False) # 在屏幕上写分数的角色 w.addy(200) score = 0 # 得分 clock = Clock() # 新建时钟对象 framecounter = 0 # 帧计数器 enemies = plane.stampItems # 给plane的图章列表取别名为enemies 以下代码省略......................
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)