使用Math.sin生成往复递增后递减值,可以制作往返动画(控制x轴),波浪线动画(x轴递增,控制y轴),缩放动画(控制缩放)效果:
1 2 3 4 5 6 7 |
let a = 0; for (var i = 0; i < 100; i++) { let s = Math.sin(a); // 使用s a += 0.5 a %= Math.PI * 2; } |
使用Math.sin和cos生成在一个圆环上的点,可以制作在圆上运动的效果:
1 2 3 4 5 6 7 8 9 10 11 12 |
let angle = 0; let speed = 0.02; let r = 5; while 1{ x = r * Math.cos(angle); y = r * Math.sin(angle); // 点(x,y)即一个圆环上不断运动的点 // 如果r有两个值,即x、y上的半径是不同的,就成了椭圆 angle += speed; angle %= Math.PI * 2; } |
方向向量。指定角度方向上的点的位置变化:
1 2 3 4 5 6 7 8 |
let angle = 30 * Math.PI / 180; // 30度方向 let speed = 2; // 速度 while 1{ x = speed * Math.cos(angle); y = speed * Math.sin(angle); // 点(x,y)即一个固定角度方向上不断运动的点 } |
- end
声明
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/3627.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设