雷电射击游戏_python精灵模块简版

你好,请进入Q群:225792826,免费下载本站最新提供免费资源。从2020年2月20号到3月底,成为本站会员只要原价的3折,即2980元*0.3 = 894元 ,向微信scratch8付款即可成为本站博客会员。即可拥有本站所有原创资源,并提供技术支持。资源只有用在对的地方才能发挥最大价值,本博客只找对的人,数字商品,付款即同意不退货,请三思。



"""
   雷电射击游戏_精灵模块简版
   本程序需要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


以下代码省略......................

下载完整源代码与素材,请扫码付款。

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » 雷电射击游戏_python精灵模块简版
python编程

学本领,探索更大的世界!

李兴球博客 风火轮编程主页