//图片总数目,为提高速度,图片按1.jpg,2.jpg这样的规则依次命名,大小100*40
_global.i=6;
//100是图片的宽度,leng是i张图片的总长度
_global.leng = i*100;
//产生一个总的MC snow
_root.createEmptyMovieClip("snow", 0);
//snow内部的MC
_root.snow.createEmptyMovieClip("a", 0);
_root.snow.createEmptyMovieClip("b", 1);
//排列a和b
_root.snow.a._x = 0;
_root.snow.b._x = _roob.snow.a._x+leng;
//create and load jpg
//在mc a和b内部产生数目为i的空MC并依次加载图片进去
for (j=1; j<=i; j++) {
_root.snow.a.createEmptyMovieClip("mc"+j, j);
_root.snow.b.createEmptyMovieClip("mc"+j, j);
_root.snow.a["mc"+j].loadMovie("image/"+j+".jpg");
_root.snow.b["mc"+j].loadMovie("image/"+j+".jpg");
//设置MC的坐标,让它们依次排开
_root.snow.a["mc"+j]._x = (j-1)*100;
_root.snow.b["mc"+j]._x = (j-1)*100;
}
//let me move
_root.snow.onEnterFrame = function() {
//向左移动总的MC snow
_root.snow._x -= 1;
//当snow向左移动的距离大于等于leng时,将它向右移动leng个像素的长度
if ((-_root.snow._x)>=leng) {
_root.snow._x += leng;
}
}
在源文件marquee_a.fla中,要想实现在某个图片上点击,跳转到相应的地址非常简单,就不多说了,但上面这种因为是通过AS生成的,且使用了循环语句,再想添加同样的效果似乎不那么容易,真的没办法了吗?我靠我不信,经过喝饮料散步等准备工作之后,得到灵感,放弃了添加复杂的判断语句的办法,下面我们来看代码:
margin = _root._xmouse-_root.snow._x;
if(margin>=i*100){
margin-=leng;
}
id = Math.ceil(margin/100);
this.onMouseDown = function() {
getURL("http://localhost/url.php?id="+id, "_blank");
};
上述代码的意思就是通过判断点击时鼠标和MC snow的x坐标的差来计算出鼠标现在空间点击在了哪个图片上,然后就搞定了。当然,在实际运用的时候,可以修饰一下,比如鼠标下面放一个按钮,这样当鼠标移动到动画上方时指针会变形,给访客以提示,好让他们知道是可以点击的。
源文件下载地址:http://www.flashempire.com/download/flas/marquee_a.zip
好运:))
参考资料:http://www.flacai.com/Article/ShowArticle.asp?ArticleID=171
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。