设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 29112|回复: 13
打印 上一主题 下一主题

【Pygame 第9课】 一大波飞机

[复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-9-2 18:24:32 |只看该作者 |倒序浏览
又到周一了,小伙伴们周末过得可好?是不是有人刚刚结束了无聊的暑假,又开始丰富多彩的校园生活了?

上周最后的课里说了,这次我们要来加入一大波飞机正在接近的效果。这个要比之前的子弹容易实现多了。因为只要让飞机不停地从屏幕上方出现就好了,不用管它具体的间隔怎样,看上去像那么回事就可以。

之前我们单个飞机已经完成了在屏幕上方区域内随机出现,并且到底底部后重新回上方的功能。现在要做的,仅仅是把一架敌机换成一组敌机:
  1. enemies = []
  2. for i in range(5):
  3.     enemies.append(Enemy())
复制代码
创建5个Enemy的对象,把它们添加到一个叫做enemies的list中。
然后,在主循环里,去处理每一架敌机的运动:
  1. for e in enemies:
  2.     e.move()
  3.     screen.blit(e.image, (e.x, e.y))
复制代码
如果你觉得几架敌机的运动状态还是比较接近,试着调节它们速度随机范围,以及出现的位置范围。它们在屏幕上方出现的范围选择越大,在游戏中新增敌机的间隔随机性就越大。

That's all. 就这么多。感谢面向对象让我们省去了很多代码量。运行游戏看看有没有不断各种敌机前赴后继进攻的感觉?

9run.jpg

#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:156630350

面向零基础初学者的编程课
每天5分钟,轻松学编程

9.py

2.06 KB, 下载次数: 436

源代码

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

3

主题

0

好友

161

积分

注册会员

Rank: 2

沙发
发表于 2013-9-2 20:09:59 |只看该作者

回帖奖励 +2

今天的比较简单。。。期待明天的
回复

使用道具 举报

0

主题

0

好友

6

积分

新手上路

Rank: 1

板凳
发表于 2013-9-2 22:29:09 |只看该作者

回帖奖励 +2

果断搭个环境慢慢学。
回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

地板
发表于 2013-9-4 17:26:43 |只看该作者

回帖奖励 +2

嘿 小伙伴
回复

使用道具 举报

0

主题

0

好友

558

积分

高级会员

Rank: 4

5#
发表于 2014-9-20 21:28:34 |只看该作者
我已经做到这里了,很有趣。
学习,纯粹。
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

6#
发表于 2015-12-31 23:27:46 |只看该作者
先生啊,敌机出现的坐标是范围内随机确定的,有可能两个敌机出现的坐标十分相近,有导致敌机图片重叠的可能。
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

7#
发表于 2015-12-31 23:51:41 |只看该作者
还有, screen 的 x 的范围只有 (0,450) ,为什么敌机的随机生成的 x 的范围是 (50,800) ,比如一个 (700,-30) 的敌机,生成了也应该看不到了。
回复

使用道具 举报

0

主题

0

好友

200

积分

中级会员

Rank: 3Rank: 3

8#
发表于 2015-12-31 23:56:30 |只看该作者
周末晒被子 发表于 2015-12-31 23:27
先生啊,敌机出现的坐标是范围内随机确定的,有可能两个敌机出现的坐标十分相近,有导致敌机图片重叠的可能 ...

额,好像重叠也没有什么关系...
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

9#
发表于 2016-2-12 13:06:30 |只看该作者
get it!
回复

使用道具 举报

0

主题

0

好友

30

积分

新手上路

Rank: 1

10#
发表于 2016-3-25 13:42:53 |只看该作者
继续加油
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-20 10:11 , Processed in 0.029005 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部