8.5.8 调整运动阶段
2008-04-24 10:05
134 查看
接下来要做的就是分别计算出A、B、C三点之间的距离,并确定物体经过每一段所需要的时间。对本例中的A点到B点的所需时长,可用以下代码求得:
var total_distance:Number;
total_distance =dist(stoppoint[0],stoppoint[1])+dist(stoppoint[1],stoppoint[2])+dist(stoppoint[2],stoppoint[0]);
var sect_A2B;
sect_A2B =Math.round( dist(stoppoint[0],stoppoint[1]) / total_distance * linetimer.repeatCount );
这段代码中,先求出A、B、C三点距离的总和total_distance,然后得出A、B之间距离占总长total_distance的比例。这个比例应该同AB点分配时长与总动画时长之间的比例相同。所以很容易得出动画对象经过AB点距离所需分配的时长sect_A2B。按照这种方法,依次求出其他阶段的所需时长也并不困难。这样,程序就获得了一组重要的数据,作为动态调整运动阶段的依据。
修改时段控制语句if…else if…,并修改控制显示对象运动的代码部分,达到动态调整运动阶段的目的。在例8-5中,使用的代码是:
if(i<=50)
{
LineRunner.x+=((stoppoint[1].x-stoppoint[0].x)/50);
LineRunner.y+=((stoppoint[1].y-stoppoint[0].y)/50);
}
在本例中,需要将固定时长50替换为这一运动阶段对应的所需时长:
if(i<= sect_A2B)
{
LineRunner.x+=((stoppoint[1].x-stoppoint[0].x)/ sect_A2B);
LineRunner.y+=((stoppoint[1].y-stoppoint[0].y)/ sect_A2B);
}
这样,动画对象在AB两点之间的运动速度就被控制在平均水准了。
对于点B到点C,以及点C到点A的处理依此类推,无需赘述。
var total_distance:Number;
total_distance =dist(stoppoint[0],stoppoint[1])+dist(stoppoint[1],stoppoint[2])+dist(stoppoint[2],stoppoint[0]);
var sect_A2B;
sect_A2B =Math.round( dist(stoppoint[0],stoppoint[1]) / total_distance * linetimer.repeatCount );
这段代码中,先求出A、B、C三点距离的总和total_distance,然后得出A、B之间距离占总长total_distance的比例。这个比例应该同AB点分配时长与总动画时长之间的比例相同。所以很容易得出动画对象经过AB点距离所需分配的时长sect_A2B。按照这种方法,依次求出其他阶段的所需时长也并不困难。这样,程序就获得了一组重要的数据,作为动态调整运动阶段的依据。
修改时段控制语句if…else if…,并修改控制显示对象运动的代码部分,达到动态调整运动阶段的目的。在例8-5中,使用的代码是:
if(i<=50)
{
LineRunner.x+=((stoppoint[1].x-stoppoint[0].x)/50);
LineRunner.y+=((stoppoint[1].y-stoppoint[0].y)/50);
}
在本例中,需要将固定时长50替换为这一运动阶段对应的所需时长:
if(i<= sect_A2B)
{
LineRunner.x+=((stoppoint[1].x-stoppoint[0].x)/ sect_A2B);
LineRunner.y+=((stoppoint[1].y-stoppoint[0].y)/ sect_A2B);
}
这样,动画对象在AB两点之间的运动速度就被控制在平均水准了。
对于点B到点C,以及点C到点A的处理依此类推,无需赘述。
相关文章推荐
- 促进胎儿入盆试试运动法和调整姿势
- 惊心动魄的SAP S4客户额度调整运动
- 微信打飞机子弹运动轨迹调整
- 理论:如何调整四轴4个电机的转速,使飞行器朝不同方向运动
- 会话:追踪长时间的运动轨迹,对运动数据进行分析,用户可以调整并分享会话。
- 趣学Python之弹球游戏第二阶段--向上运动
- 股票市场运动的四个阶段
- 如何调整sensor 在earlysuspend的阶段的polling速率
- 调整运动
- 收评:大盘仍处于底部调整阶段
- 8.5.4运动阶段
- 在IE8下通过运动框架调整透明度时注意事项
- 推荐系统的几个阶段
- 【转载内容】从KPI谈产品:不同的产品阶段要采取不同的产品策略
- 软件测试的四个阶段
- 使用相对宽度调整表格问题
- 程序员的11个阶段
- 用DiskGenius V4.2.0进行调整容量时提示“$Bitmap 有标记已使用的未用簇”
- 基于USB的运动控制平台及采集卡的设计
- 阶段总结 2014-05-22