正在载入……

Attention, Zin 的交互设计之路。

User interface, user experience and interactive design.

« 利于搜索引擎的ajax的tab标签及ajax分页一个虚假的VR演示效果 »

随机运动之三角函数

随机运动有很多做法,这里介绍的是一种随机周期性运动,而非真正意义的移动到一个随机位置,这个实例只是利用三角函数,也即是波动函数,随机算出振幅、起点值等参数,核心代码如下:

var centerX:Number = 500;
var centerY:Number = 300;
var angleStartX:Number = _root.randRange(0, 360);
var angleStartY:Number = _root.randRange(0, 360);
var scopeX:Number = _root.randRange(10, 20);
var scopeY:Number = _root.randRange(10, 20);
var step:Number = _root.randRange(2, 5);
var sc:Number = _root.randRange(70, 100);
with (this) {
  _x = centerX;
  _y = centerY;
  _xscale = _yscale=sc;
  _alpha = _root.randRange(30, 80);
}
var angle:Number = 0;
onEnterFrame = function () {
  angle += step;
  this._x = centerX+Math.cos(_root.angleTo(angleStartX+angle))*scopeX;
  this._y = centerY+Math.sin(_root.angleTo(angleStartY+angle))*scopeY;
};
function randRange(min:Number, max:Number):Number {
  var randNum:Number = Math.round(Math.random()*(max-min))+min;
  return randNum;
}
function angleTo(n:Number):Number {
  return n*Math.PI/180;
}


示例下载,请下载文件random-motion-with-trigonometric-function.zip

欢迎发表看法:

您的讨论更有价值!

控制面板

<< 2008-12 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

最近留言