图形移动方法优化
前面我们图形移动是通过move_level或move_direct方法得到最新的4个坐标数据更新shape数组,再通过show方法把现有方块左上角的点移动到这4个点。
更好的方式是定义一个相对位置(x,y),我们根据这个相对位置坐标的移动来实现方块图形的移动,而不需要修改shape坐标数据。举例来说就是:登山队始终保持距离那面旗帜10米,要想让整个队伍向左移动2米,只要把那面旗帜向左移动2米即可。
修正旋转方法
前面图形移动使用了相对位置,旋转方法不用修改直接就自动修正了。之所以不用修改是因为show方法里面把4个小方块左上角的点移动到shape坐标的时候是以相对位置作为参考的。
注意,在其他游戏制作中,可移动并且可以旋转一般都是需要一个相对位置坐标。
完成,代码传送门:https://github.com/xiaohuacc/snake/blob/index003/index003.html