|
| |
精品推荐 |
 |
|
| |
|
|
|
|
随机排列的链接系统
|
日期:2007年7月2日 作者: 查看:[大字体
中字体 小字体]
|
今天终于下决心做好我那个链接系统了
以前那个链接是采用先加入就排在前面 由于是flash的,所以要实现后加入就排在前面手工操作起来非常麻烦,要一个一个重新排列,而且觉得这样也不好 所以一直都想利用flash的AS来实现随机排列
以前有几次试着做了都不行的,主要是几行关键代码弄不过去 今天终于下决心把它搞定了(以前的手工添加太麻烦了,受不了:)
特点: 每次随机抽取25个logo,并进行随机排列,每个logo排在前面的几率相等 每一帧只加载一个logo并建成独立的mc,这样可以实现下载一个就看到一个,而不用等到全部下载完才能看到 添加时只要上传一个flash的logo还有修改sum的值就行了
以下是代码: 之前先在links目录下做好加载logo及URL的flash,命名为1.swf , 2.swf , 3.swf .... 大小为88X31 新建一flash并把以下代码分别copy到第一、二、三帧上就可以了(总共三帧)
第一帧:
// 用以记录已加载了多少个logo step = 1;
// 本想从外部读取logo的总数的,那样比较方便 // 但总是不稳定,有时可以有时不行的 // loadVariables("links/linksum.txt", this); sum = 25;
// 每行多少个logo(row),共几行(line) row = 5; line = 5;
// 每个logo所占宽度,高度 width = 105; high = 45;
// 构建数组 b = new Array(sum+1); b = [1]; for (i=1; i<=sum; ++i) { b[i] = 1; } 第二帧:
// 随机抽取id,并且把已抽取id的b[id]置零,保证每一个id只取一次 do { linkid = random(sum)+1; } while (b[linkid] == 0); b[linkid] = 0;
// 用所抽取的id载入含logo的flash l_name = "links_"+linkid; l_url = "links/"+linkid+".swf"; createEmptyMovieClip(l_name, linkid); eval(l_name).loadMovie(l_url);
// 定位每个logo eval(l_name)._x = ((step-1)%row)*width; eval(l_name)._y = int((step-1)/row)*high;
// 载满停止 if (step>sum-1 or step>row*line-1) { stop(); } step++; 第三帧:
gotoAndPlay(2); // 演示 : // http://hartech.6to23.com // e-mail: jtl.zheng@gmail.com (出处:清风学院)
上一篇:谈谈Flash的一些语法基础和系统核心 2.3 object :引用一个幽灵
下一篇:在 ListBox 组件中应用 HTML
|
| 相关文章: |
|
|
|
| 相关软件: |
|
| |
|