用OpenBlock简易编写游戏“CROSSY ROAD”之绘制车辆和人物
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。 活动链接: github.com/weopenproje…
小时候,我们放学回家打开电脑必玩的游戏里一定有一个叫“CROSSY ROAD”(天天过马路)的单机小游戏,我隐约记得它的背景讲的是帮助一只小鸡横穿马路的故事,不知道你们有没有印象?它曾几一时风靡我们的小学时代,下面我们来用open block来简单制作一下它吧!
各状态机关系图
绘制人物
人物分别有四种状态:初始化,移动,停止,死亡。(令初始化状态按下会变为移动状态,如果碰撞到车辆变为死亡状态收到广播消息复活再变为回初始化,或者到达终点直接变为初始化状态;按键按下变为停止状态再次点击按键抬起则变为移动状态)
- 定义函数绘制人物
2. 绘制四个状态
初始化状态(需设置人物坐标x的状态机变量为0)
移动状态(设置人物x的整数 状态机变量且设置每次以10为单位变化实现人物不断向前移动)
死亡状态
停止状态
这样要过马路的人物角色就绘制好了(编写消息的教程将在游戏控制系统篇里提及)
绘制车辆
车辆的状态就简单啦!只有三种分别为:初始化,移动,停止。三者的两两关系可分为两个小循环。
1.定义函数绘制车辆
2.创建车辆的三个状态
初始化:(设置状态机变量 整数 车辆的坐标x,y的初始位置)
移动:(设置状态变量 整数 移动速度为从5到15中随机然后设置状态机变量 整数 车辆坐标y的移动结合减法,来产生车辆速度变化,别忘了添加刷新消息来使初始化和移动状态关系出现三种状态两两关系第一个小循环,若发生碰撞改变状态为停止复活变为移动状态出现三种状态两两关系的第二个小循环)
停止:
上面这些只是一辆车的状态机的各个状态,需要如法炮制创造多辆车的状态机只需改变下各辆车初始化状态 设置的状态机变量车辆坐标x的数值(橙色笔圈出部分),就可以完成整个过马路小游戏的车辆创建了。
以上就是绘制过马路小游戏所有角色的过程啦!这个游戏主体控制系统的教程将在下篇讲解,敬请期待。
转载自:https://juejin.cn/post/7182524651581472824