python飞机大作战的实验过程中_python -- 飞机大战(实验)

小Q:今天我偶然发现了python飞机项目写的大神,一本好书的材料,记录它们。不久前我读过一篇文章:青少年如何开始游戏开发与Python。阅读这张照片之后,我写了一个,这是很有趣,相当于只是学习Pygame库。这篇文章是由一个12岁的小孩写的。外国的孩子很NB,我12岁的时候吗?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -第一步是显示背景。

# - * -编码:utf - 8 - *进口pygamefrom从sys进口进口* exitSCREEN_WIDTH = 480 SCREEN_HEIGHT = 800 #初始化游戏屏幕()= _mode ((SCREEN_WIDTH SCREEN_HEIGHT)) _caption(平面战争)#负载背景图背景=(\u201D),而真正的:#画背景(0)(背景,(0,0))#更新屏幕()#过程游戏退出事件():如果= =:()退出()我们来分析这段代码:进口Pygame库和所需的库;初始化游戏,并生成游戏窗口根据一组大小;加载背景图像;进入游戏主循环。在主循环中,我们做了以下几点:清晰的屏幕,画背景,更新屏幕,游戏退出事件,处理和运行效果,第二步所示,显示了飞机。

我们显示在背景的元素(包括飞机、子弹等)都是Pygame的表面。此时,您可以使用地下pygame提供的方法。首先加载大图,然后调用地下方法选择它的一小部分来生成一个新的表面。这个小图片的位置在大图片在图片文件夹中的文件。我们需要做的是加载后的飞机图像背景图像加载在上面的代码中,然后生成surbsurface飞机和飞机初始化的起始位置:#载飞机图片#选择飞机的位置在大图片,并生成地下,然后初始化的起始位置飞机player_rect = (0, 99, 102, 126) player_pos = (200、600)之后插入的代码绘制飞机画背景在主循环:1 #画飞机2(球员,player_pos)运行后,你可以看到战斗机的球员:第三步是飞机。

在上面的代码中,我们知道了飞机(球员,player_pos)代码。这个player_pos飞机的位置画在每个循环。为了响应键盘事件,我们只需要改变这个位置移动飞机。添加代码来响应键盘事件在主循环:#听键盘事件key_pressed = _pressed()如果key_pressed [K_UP]: player_pos[1]\u2014\u2014= 3如果key_pressed [K_DOWN]: player_pos[1] + = 3如果key_pressed [K_LEFT]: player_pos[0] - = 3如果key_pressed [K_RIGHT]: player_pos[0] + = 3时一个箭头键被按下时,我们只需要改变飞机的坐标位置,使飞机移动~所以我们知道生产的基本原理2 d游戏:比赛结束后进入主循环,每一次循环画一幅画在相应的位置,位置或图片时就会出现动画效果是改变;

简单的?接下来的步骤包括显示子弹,随机生成敌机,碰撞检测,判断比赛结束,得分。我想介绍这些,每个人都应该能够自己完成下一个任务?当然,球员、子弹和敌人的飞机都可以写成一个类,继承pygame的精灵类,实现一些动画效果,碰撞检测,这使得它更容易使用。让我给你我写的类代码:#子弹类类():. __init__(自我)= _rect () = init_pos = 10 def移动(自我):- = #球员类类球员():。__init__(自我)=[]#用于存储player对象列表雪碧照片我的范围(len (player_rect)): = player_rect[0] #初始化矩形图片所在地= init_pos #初始化矩形的左上角= 8 #球员速度进行初始化,这是一个特定的值=()#收集玩家的子弹发射的飞机_hit = False #球员是否击中(子弹)def moveUp(自我):如果< = 0 = 0其他:- = def moveDown(自我):= SCREEN_HEIGHT -其他:+ = def moveLeft(自我):如果< = 0 = 0其他:- = def moveRight(自我):= SCREEN_WIDTH其他:+ = #敌人类类敌人():.

你可能感兴趣的:(python飞机大作战的实验过程中_python -- 飞机大战(实验))