横版过关游戏开发-人物控制

人物控制花费了很多时间,方法有很多。先看一下以前游戏是怎样控制的。

比如做坦克大战,地图可以做成二维数组,按方向键移动。坦克的位置信息,可以由数组索引表示(或者加一个偏移量),那么,当按动方向键时,直接修改数组索引就行了。

而横版游戏,像超级玛丽这样,主要的运动方式就两种:走、跳。我前两天做的时候,对于每一个方向的移动,都设置了一个状态“向左移”,“向右移”等等。刚开始的时候,运行挺好。结果,每增加一种运动方式,代码不仅多,而且乱。主要原因是,走、跳既可以单独发生,也会同时发生,甚至在跳的过程中移动。这样,设置不同的状态,只会让代码变得复杂。 后来我简化了方法,去掉“移动状态”的设置。只设置两个变量:水平方向的速度,垂直移动的速度。然后,根据这两个值,修改角色的当前位置,代码立刻变得简单多了。

人物可以移动,还需要解决碰撞检测的问题:跳的过程中,碰到物体怎么办?下落的过程中,检测是否落在了某个物体上。这些,下次再讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值