植物大战僵尸

原理

定义一个游戏引擎函数,生成一个定时器在画布上绘制游戏场景相关元素,然后在定时器函数中根据当时的游戏的状态(游戏准备,游戏开始,游戏运行,游戏暂停,游戏结束)来绘制相应的游戏场景。

载入游戏状态:绘制页面载入图片,添加游戏开始按钮

开始游戏状态:设置一个进度条,开始倒计时

进行游戏状态:绘制各种游戏进行的场景素材

暂停游戏状态:游戏进入暂停,各定时器中断,动画处于静止状态,出现暂停场景

结束游戏状态:植物获胜或僵尸获胜,绘制其结算画面

在canvas上绘制不同场景,创造不同的动画素材,可以先创作植物或僵尸的不同状态下的动画序列,将其按一定时间切换,即可达到动画效果。在动画序列中建立各种属性以确定对象的状态等,植物有待机和攻击的状态,而僵尸要复杂一些,有行进、攻击、受伤、死亡等状态。

创建角色对象,也就是随机生成僵尸和种植植物,建立其属性,如位置横纵坐标等。同时对于生成的植物或僵尸,需要提前设置其固有属性,如生命值、攻击力、行进速度等,还要有记录当前状态下的血条之类的可变属性。

对于阳光,先绘制阳光掉落动画,再创立一个程序随时间掉落随机位置的阳光,也就需要对阳光对象设置相关属性。

这是植物大战僵尸游戏实现代码的github链接:https://github.com/marblexu/PythonPlantsVsZombies

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值