pygame编写的坦克游戏(二)
来源:互联网 发布:淘宝卖家发布宝贝教程 编辑:程序博客网 时间:2024/04/20 05:59
搞游戏怎么也得有个引擎这种高大上的东东吧,用来加载图像、声音资源,用来控制游戏输入,开始结束场景啥的
先简单说明一些要点,个人感觉挺重要的:
1、输入控制,event这东东可以轮询按键,会产生按键状态、按键类型,按下一个事件KEYDOWN,松开一个事件KEYUP,按着不松也不会产生多个KEYDOWN就是了;这在坦克这个游戏里显示不完美,其它乱七八糟的方法试了很多,什么自动产生多个按键事件啦,不靠谱。
所以本程序里采用的方法是:只要没有KEYUP事件,就隔一帧重发KEYDOWN的事件到控制流程,这样按个“上”就能一直移动了,按着“开火”就能一直发射了。
2、图像资源里只有坦克向上的图,没关系pygame可以transform.rotate来旋转,transform.scale来缩放
3、计时器,pygame.time.Clock() 的实例,clock.tick(40)可以让程序刷新出40帧/秒,没有事件产生,也没关系啦,整个程序用帧来计时好了,反正偏差不大
4、绘图,每帧重绘一遍所有对象就是了,对象不多对帧率没什么影响,要注意的是按层次来绘图
5、玩家状态信息保存,剩几条命,当前火力装甲怎样(等级),都要保存起来,加了星也要进行升级处理
6、引擎控制一切嘛,当然要控制生成地图了,坦克的产生交给工厂搞定
7、声音,坦克静止时的声音、坦克移动时的声音、开火的声音、坦克被击毁的声音、击中钢板的声音、击中边界的声音、击毁砖头的声音、吃到宝物的声音、加命的声音、加分的声音、场景开始结束暂停的声音,差不多了吧
8、动画,如果一个对象有多帧的话,到了延时时间后切换成下一帧,例如:一般坦克2帧,红坦克3帧,河2帧,老窝2帧,宝物2帧,爆炸5帧,出生时7帧,在const.py里有定义
9、字体,找了一圈终于发现适合坦克游戏的字体名叫:insert coin ( ICOIN.FON )
效果大概是这个样子的:
(未完待续)
- pygame编写的坦克游戏(二)
- pygame编写的坦克游戏(一)
- pygame编写的坦克游戏(三)
- pygame编写的坦克游戏(四)
- pygame编写的坦克游戏(五)
- pygame编写的坦克游戏(六)
- pygame编写的坦克游戏(七)
- 转载:HTML编写的坦克大战游戏
- [python]pygame游戏开发学习(二)
- cocos2d-x游戏开发系列教程-坦克大战游戏之敌方坦克AI的编写
- 【Java_项目篇<1>】--JAVA实现坦克大战游戏--坦克移动+添加敌方坦克(二)
- 一个C语言编写的坦克大战游戏
- Python:pygame游戏编程之旅二(自由移动的小球)
- Python:pygame游戏编程之旅二(自由移动的小球)
- 坦克游戏的1.0
- 坦克游戏的2.0
- 游戏外挂的编写原理(二)
- Java之详解坦克大战游戏(二)
- 20151003&&20151004题解
- Codeforces #323 div2. D Once Again... dp LIS
- 项目3——括号的匹配
- POJ1001 Exponentiation(高精度幂)
- String、StringBuffer、StringBuilder区别及使用场合
- pygame编写的坦克游戏(二)
- V210 SPI驱动分析
- Explore File data cannot open
- 第1章 linux概述
- Palindrome Number
- poj 1946 dp(公牛跑圈)
- Android组件之Service学习(1)两种使用方式与生命周期
- 会声会影学习笔记
- awk