上一期教程,我们的蛇还是“死蛇”,不能动,这次我们让它动起来。
我们就使用我们的keypressed()函数,由于不需要一直检测按键,所以不需要isDown()函数。
如何让蛇移动?
大家小时候玩过的贪吃蛇,它们是如何移动的?我们又该如何实现?
蛇移动的逻辑一定是在update(dt)函数里的,而update(dt)函数是重复调用的,怎么实现比较好?
我这里采用的是让蛇头先走,之后让后面的蛇身到下一个对象的位置:
如上图,先让3走,3走完后,把3的位置赋值给2,在把2的位置赋值给1。
那么代码如何实现呢?
我们可以用for循环:
先让蛇身移动,之后更新蛇头的位置。
如果你现在打开游戏测试你的代码,你会发现,蛇跑得特别快。。。原因是update()函数1s大约调用60次,所以我们需要一个变量来让它执行慢一点。
我们定义了一个变量:snakeTime,给它赋值5,之后在更新函数里面,让它减一,直到小于0才让蛇动,之后复位snakeTime。现在蛇就不会跑得特别快了。
本期教程到这里结束,如果你有任何疑问,欢迎在评论区讨论,或者私信我,喜欢本教程的请关注,点赞,收藏,转发,谢谢。
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!