8.5.3 位移

    在分析研究位移的时候,对于复杂的移动,往往无从下手,但逐步分解为最简单的移动,就能发现实现的方法了。如前节所讲,处理这种简单的斜线运动,可以分解为水平方向和垂直方向,再对每个方向进行单独考察。在50次定时器触发中由stoppoint[0]移动到stoppoint[1],能分解为:在50次定时器触发中,水平方向由stoppoint[0].x移动到stoppoint[1].x,垂直方向由stoppoint[0].y移动到stoppoint[1].y。而每一次的移动量就相当容易计算了,只需要将两者相减并除以50即可。

以下代码实现将lineRunner50个时间周期内从stoppoint[0]移动到stoppoint[1]

         LineRunner.x+=((stoppoint[1].x-stoppoint[0].x)/50);

         LineRunner.y+=((stoppoint[1].y-stoppoint[0].y)/50);

依此类推,实现由stoppoint[1]stoppoint[2]和从stoppoint[2]返回stoppoint[0]就较为简单了:

//stoppoint[1] stoppoint[2]

         LineRunner.x+=((stoppoint[2].x-stoppoint[1].x)/50);

         LineRunner.y+=((stoppoint[2].y-stoppoint[1].y)/50);

//stoppoint[2]返回stoppoint[0]

         LineRunner.x+=((stoppoint[0].x-stoppoint[2].x)/50);

         LineRunner.y+=((stoppoint[0].y-stoppoint[2].y)/50);

但目前还不能将上述代码直接写入编辑器运行,因为现有代码还缺少对三个运动阶段的控制。

你可能感兴趣的:(8.5.3 位移)