遇到的问题:画线策略无法实现连贯曲线
问题描述:最开始的画线策略是每当检测到鼠标位置发生变动时就在当前位置生成一个轨道元素,轨道元素是一个圆形碰撞体,当摩托车与其发生碰撞时会充当地板的角色,让摩托车轮在其表面发生滚动摩擦,从而驱动摩托车移动。但是,由于生成的轨道元素是圆形的,而且只在固定点生成,所以当鼠标移动速度过快时,采样点较分散,无法生成连贯轨道。
解决方法:解决的思路来源于之前java课设做过的画图小程序。当实现铅笔功能时,我们并不是在当前点画下一个像素,而是在上一个点和当前点之间画上一条线段,这是包括windows的画图等大多数程序的通用方法。所以,我将画轨道的算法进行了调整,并将轨道元素换成了规则的正方形块,通过计算起点和终点的位置,把轨道元素放置在起点和终点的中点上,并对其进行缩放和旋转,最终解决了问题,生成了连贯的轨道。
时间: 2024-10-01 10:33:47