主题:  关于鼠标轨迹的记录!

5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#12001/11/26 22:29:02
关于鼠标轨迹的记录其实很简单,首先duplicateMovieClip,使场景中的多个movie的位置和鼠标的位置相等,然后再利用新的mc找到每个先前复制的mc的位置就可以了!
这是效果

编辑历史:[这消息被桃人编辑过(编辑时间2001-11-26 22:34:33)]
[这消息被桃人编辑过(编辑时间2001-11-26 22:42:37)]
[这消息被桃人编辑过(编辑时间2001-11-26 22:44:39)]


Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#22001/11/27 0:25:32
maybe only set position of 2 objectes is better and easior.

DS



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#32001/11/27 0:35:51
诶~~~我好几次用全局变量 “ ”add 个n,都失败了~~到了下面总是不能eval出所有的参数~~~好烦人!最后用这个好理解,但麻烦的办法唬人喽~~不知道New Array 可以不?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#42001/11/27 23:14:32
看了你的代码,觉得有个问题是:如果在一台内存很小的机器上,不动鼠标,让程序运行一个晚上,会不会导致系统崩溃?当然这是个极端情况

我的意思是,连同鼠标位置和停留时间一起记录。放在mouseMove事件中记录。



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#52001/11/27 23:48:10
有道理!果然有高手风范,思路严谨!
下面该告诉我如何在这个例子中使用“栈“来存储并传递变量了吧?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#62001/11/28 0:06:13
过奖了。

栈是FILO(先进后出)的,只有一端开口。所以,如果用它来存储,则有些类似“时光倒流”了  因为它获取最后进栈的数据,然后才移动记录指针。

严格来说应该是“队列”(FIFO),它的一端只进不出,一端只出不进。由于是在“进”完之后才“出”,所以,在AS中可以简单地用object array来代表。先把获得的一组数据(包含x/y/time)存入数组单元中,例如a[ n],再获得的就存入a[ n+1]中。。。依次放入所有数据。回放的时候也从最先存入的索引位置开始读取数据,设定mc(cursor)位置,并停留所设时间,再读下一组数。我设想的一个格式示例如下:

//论坛有bug,在[ ]之间要空格才能正确显示

a[ 0]={200,100,50}
//x=200,y=100,停留时间50ms
a[ 1]={220,100,1000}
...

编辑历史:[这消息被janlay编辑过(编辑时间2001-11-28 00:08:51)]


vital

职务:普通成员
等级:1
金币:10.0
发贴:194
#72001/11/28 9:44:10
嗯,janlay讲得比较详细,方法也更严谨。抬到我那贴上面去



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#82001/11/28 19:11:38
to: janlay 胜读十年书呀~~以后小弟就跟着你喽~~~

to: vital 再次感谢你做的修改,受益匪浅!



5D限制级

职务:普通成员
等级:6
金币:10.0
发贴:4970
#92001/11/30 14:40:17
TO 桃人
能我看看原文件吗

liuwws@21cn.com



5D限制级

职务:普通成员
等级:6
金币:10.0
发贴:4970
#102001/11/30 17:02:40
多谢“桃子”

原来是这样
我一开始还用**=new Array() **.push(***) **.shift() **.splice()


现在一看 其实没这么复杂

多谢