怎样响应Flash as3中鼠标滚动轴的缓动遮罩内容的方法
现在很多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影片,应该可以看到我们的响应鼠标滚动轴的缓动遮罩内容了。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |