| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
随机音乐代码
关于random()随
从n个数中随机选出
一定范围内随机排
AS随机调用外部MP
“笨虫虫” 随机爬
两种方法取得n个随
产生不重复的随机
随机转盘游戏
用AS让MC做随机运

随机排列的链接系统           

随机排列的链接系统

作者:佚名 来源:不详 更新:2007-1-13 20:46:14 错误报告 我要投稿
今天终于下决心做好我那个链接系统了

以前那个链接是采用先加入就排在前面
由于是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
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。