http://madforit.blog.sohu.com/43494156.html
--------------------------------------------------------------------
这个是在线演示,懒得做preloader,不过不大,耐心等下就看到了:
http://www.keyframe1.com/tute/mouseWheel/
现在很多flash网站越来越多的使用鼠标滚动轴,这样更符合普通用户的习惯,对用户更有好,对推广flash网站还是有一定好处的。
==================
我们现在就开始做
==================
先简单分析下我们要做的内容:
- 创建遮罩内容;
- 让遮罩内容响应我们的鼠标滚动轴;
- 添加缓动函数给遮罩内容;
我们做一个纵向的遮罩内容滚动,为演示方便,我们挑选一个较高的图片,现在就开始。
1)导入图片,然后把图片转为影片剪辑,把影片剪辑拽到flash工作区适当的位置,命名为"spider" (当然你自己可以随便命名了,只不过我使用了一张蜘蛛侠的图片所以就叫"spider");
2)创建新图层,命名为"actions";
3)锁定所有图层,点击actions图层的第一关键桢,现在我们所有的工作可以交给actionscript来处理了
我们先建立遮罩影片剪辑,大小位置随便你,颜色也无所谓因为是用来做遮罩的
复制内容到剪贴板
代码:
this.createEmptyMovieClip("mask",this.getNextHighestDepth());
mask.lineStyle(2,0x555555,100);
mask.beginFill(0xcccccc,100);
mask.moveTo(0,0);
mask.lineTo(300,0);
mask.lineTo(300,310);
mask.lineTo(0,310);
mask.lineTo(0,0);
mask._x = 230;
mask._y = 50;
mask.endFill();用新建立的mask影片剪辑把spider遮罩起来
复制内容到剪贴板
代码:
spider.setMask(mask);鼠标滚动轴响应事件其实特别简单
复制内容到剪贴板
代码:
mouseListener = new Object();
mouseListener.onMouseWheel = function(amount) {
ymove = amount*30.5;
if(_root._xmouse > mask._x && _root._xmouse < mask._x + mask._width && _root._ymouse > mask._y && _root._ymouse < mask._y + mask._height){
dy += ymove;
top = -440;
bottom = 50;
if(dy > bottom)dy = bottom;
if(dy < top)dy = top;
}
}
Mouse.addListener(mouseListener);缓动函数是特别有用也是常用的效果,你可以自己写,也可以用tween或fusekit,当然网上也有很多高手写的缓动class,这里是我自己写的一个特别简单的
复制内容到剪贴板
代码:
spider.onEnterFrame = function(){
speed = 6;
oldy = this._y;
this._y += (dy - oldy)/speed;
}初始化spider影片剪辑的Y坐标
复制内容到剪贴板
代码:
dy = 0;现在测试你的flash影片,应该可以看到我们的响应鼠标滚动轴的缓动遮罩内容了。
[
本帖最后由 markmaoji 于 2007-4-25 16:33 编辑 ]