问答详情
源自:4-5 蛇骑士!控制蛇身二

蛇的运动转向问题

感觉老师的这个贪吃蛇程序在控制蛇运动方向存在很大的问题,鼠标点击位置是相对于屏幕正中央的。这样如果遇到一种情况:蛇往左运动,而且蛇整个身体在屏幕正中心的左侧,当用户想让蛇向下转弯时,一般用户会点击蛇的下方,而这时如果x坐标的绝对值大于y,并且这时x是负的,那么不管怎么点击下方,蛇会一直向左移动,不会改变方向,这样游戏体验就很差。个人感觉如果用蛇头作为参考点更好一些,只是感觉可能消耗的的性能更多。

提问者:qq_散华秋韧_0 2017-09-07 10:46

个回答

  • qq_别哭_0
    2017-09-21 13:38:24

    实际使用当中,项目上线不可能使用这种操作方式,换成四个按钮来操作更人性话,还不容易出错。这是方案一

    其次,你可以绝对值运算取消。直接判断正负值加上一个偏移量,cocos有一个delta函数可以获取。函数名可能是错的,不太记得清了,查下API。 这是方案二。

    在屏幕上算一下就知道了。老师说的只是其中一种最简单的算法。