篇一:Flash常见的鼠标跟随效果
[Flash常见的鼠标跟随效果
flash中的鼠标可以更有个性些,做起来也不算复杂,比如把鼠标指针换成你喜欢的样子,或让鼠标指针有一个灵动飘逸的跟随,如下图中的效果,怎么样?动手试试:
一、例1:让鼠标指针变变样:
把鼠标变成上面第一个图的样子,当然你爱咋样子的都行,比如一个字,一种形状,一张图片都行。
过程:
1)插入一个元件,类型为影片剪辑,自己动手画个形状吧,像上面图一那样的也行,这不要紧,要紧的是在元件编辑视图下,要将这个图形的左上角对准中心的十字,否则鼠标定位时会有误差,如图: [小技巧:直接在舞台上绘图,完成后全选并右击,选择“转换为元件——影片剪辑——确定”,这样做影片剪辑,会自动对齐。]
2)把影片剪辑放到舞台上,实例名为:mouse_mc
3)在帧上加代码,非常简单:
mouse_mc.startDrag(false);
stage.addEventListener(Event.ENTER_FRAME,myMouse);
function myMouse(evt:Event) {
mouse_mc.x = mouseX;
mouse_mc.y = mouseY;
}
Mouse.hide();
其中Mouse.hide(); 的作用是隐藏默认的鼠标指针,如果要恢复显示:Mouse.show();
二、例2:鼠标指针后面跟随飘逸的枫叶:
过程:
1)把这几张图下载到你的电脑上,并导入到flash库中去。
2)把这些图拖到舞台上去,按图从小到大的顺序依次分别右击他们,并选“转换成元件——影片剪辑——确定”:
按“从小到大”的顺序操作,是为了叠放次序,后来居上:虽然在同一时间轴图层上,但后转换成影片剪辑的会居上方。
3)同样从小到大,依次取实例名为:
level0、 level1、 level2、 level3、 level4、level5
4)在帧上加一些简单的代码即可:
level0.startDrag(false);
stage.addEventListener(Event.ENTER_FRAME,myMouse);
function myMouse(evt:Event) {
level0.x = useX + 20;
level0.y = useY + 10;
var speed:uint = 3;
for (var i:uint = 1; i i++) {
this[“level"+i].x += (this["level" + (i-1)].x - this["level" + i].x )/speed;
this["level"+i].y += (this["level" + (i-1)].y - this["level" + i].y )/speed;
}
}
三、例3:鼠标跟随飘动的文字
这个其实和例2是一样的,把图片换成一个个文字,其他的过程一样,数量有些不同,改改相关的代码即可。但这个例子,想和大家一起用代码方式做,代码如下,不理解也没关系,复制到第一帧上,可以改一改跟随文字,比如把“打倒日本帝国主义”改成“钓鱼岛是中国的固有领土”,呵呵:
//____从这里复制开始
____
var _text:String = "打倒日本帝国主义";
var i:uint = 0;
var arrTextSprite:Array = new Array();
for (i; i_text.length; i++) {
arrTextSprite[i] = addTextField(_text.charAt(i));
stage.addChild(arrTextSprite[i]);
}
arrTextSprite.startDrag(false);
stage.addEventListener(Event.ENTER_FRAME,myMouse);
function myMouse(evt:Event) {
arrTextSprite.x = useX + 20;
arrTextSprite.y = useY + 10;
var speed:uint = 3;
for (i = 1; iarrTextSprite.length; i++) {
arrTextSprite[i].x += (arrTextSprite[i-1].x - arrTextSprite[i].x + 15)/speed; arrTextSprite[i].y += (arrTextSprite[i-1].y - arrTextSprite[i].y)/speed; }
}
function addTextField(str:String):Sprite {
////定义字体风格
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.size = 15;
myTextFormat.align = TextFieldAutoSize.CENTER;
////添加文本框并应用风格
var myTextField:TextField = new TextField();
myTextField.width = 20;
myTextField.height = 20;
myTextField.selectable = false;
myTextField.multiline = false;
myTextField.defaultTextFormat = myTextFormat;
= str;
////将文本框加入到Sprite,就像是在舞台上将一个文本框转换成影片剪辑
var mySprite:Sprite = new Sprite();
mySprite.addChild(myTextField);
return mySprite;
}
//__*复制到这一行结束
______
四、例4:星飞瀑鼠标跟随效果
过程:
(一)新建一个flas档,背景为黑,帧频为20。
(二)绘制星星:
1)插入一个元件,类型为“图形”,确定后进入到元件编辑状态下,适当放大视图,然后进行绘图。
2)画一个无线框圆,白,透明度33%,再调成纵向窄条;画一个无边线六边形,白,透明66%,拽一拽上下两个顶点,让它们不那么冒尖,然后再调成窄条;再制一个窄条,透明度调成100%,即不透明。将三个窄条组合,调整长短、宽窄,然后叠起来;最后再复制一下,叠成十字形状,如下图:
3)画三个圆,无边线,白,透明分别为33%、66%、100%,再将它们组合、重叠起来,调整好大小位置,如图:
4)将十字和圆圈叠起来,调好适当大小位置,并组合;将组合图中心点对齐到“十”字上,大小设为16*16像素,一个小星星,如图:
(三)制作星星播放动画:
1)插入一个元件,类型为“影片剪辑”,进入到元件编辑视图下,在第一帧上,将刚才做好星星拖入,中心点对齐到中间“十”字上。