• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS进阶篇>文章内容
  • 利用数组帮助实现循环滚动(as2.0)
  • 来源:闪客居个人空间 作者:小小 2008-07-05 【
var mc_width = 200;
var mc_height = 100;
var mcNum = 10;
var move_v = 0;
var prev_v = 0;
var stageHeight = Stage.height;
var mc_array = [];
for (var i = 0; i<mcNum; i++) {
 mc_array[i] = newMC(10, i*mc_height, mc_width, mc_height, i+1);
}
onEnterFrame = function () {
 move_v = (move_v+(_ymouse-stageHeight/2)/10+mc_height)%mc_height;
 var v = move_v-prev_v;
 if (Math.abs(v)>mc_height/2) {
  v<0 ? mc_array.push(mc_array.shift()) : mc_array.unshift(mc_array.pop());
 }

 prev_v = move_v;
 mc_array[0]._y = -move_v;
 for (var i = 1; i<mcNum; i++) {
  mc_array[i]._y = mc_array[i-1]._y+mc_height;
 }
};
function newMC(x, y, width, height, text) {
 var c = _root.getNextHighestDepth();
 var mc:MovieClip = _root.createEmptyMovieClip("mc"+c, c);
 mc._x = x;
 mc._y = y;
 var txt:TextField = mc.createTextField("txt", 0, 0, height/2-30, width, 60);
 txt.text = text;
 txt.selectable = false;
 var format:TextFormat = new TextFormat();
 format.align = "center";
 format.size = 40;
 format.font = "Arial Black";
 txt.setTextFormat(format);
 mc.lineStyle(1, 0);
 mc.moveTo(0, 0);
 mc.lineTo(width, 0);
 mc.lineTo(width, height);
 mc.lineTo(0, height);
 mc.lineTo(0, 0);
 mc.endFill();
 return mc;
}



上一篇:xml中运用后代存取运算符(..)问题   下一篇:没有了
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)


FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)