geom加bitmapdata类打造超酷鼠标跟随效果
此类动画,其实不用BitmapData、ColorTransform这两个类,也能做到。当然,这里是为了学习,所以就用了一下。
1、新建一文件。设置背景色为黑色。然后帧频为60帧/秒。这样是为了流畅。
2、新建两图层。一背景层,一AS层。

3、选择矩形工具在舞台中绘制一背景。大小为550*400。颜色设置为线性填充。

4、创建一个影片剪辑。

5、然后做如下设置,为了场景中AS能调用此元件。

6、然后选择多角工具。

7、在属性面板中点选项按钮。

8、做如下设置。

9、填充的时候,设置成放射性填充。

10、然后分别插入关键帧。并且修改元件中的颜色效果。这里随便选择颜色就行了。


11、添加AS。- [img]http://www.taoshaw.com/taoshaw/study/mouse_starss/11.jpg[/img]
- [b]AS[/b]如下:
- //================版权声明开始================//
- //★淘沙网:http://www.taoshaw.com
- //★淘沙网所有教程欢迎转载。不过请转载时注明出处。谢谢合作。
- //================版权声明结束================//
- //导入类
- import flash.display.BitmapData;
- import flash.geom.*;
- Stage.scaleMode = 'noScale';
- //屏蔽右键
- var my_mc:ContextMenu = new ContextMenu();
- //隐藏右键
- my_mc.hideBuiltInItems();
- _root.menu = my_mc;
- // 是否形成块状带
- var my_Init_fang = 0;
- var my_jiaodu_In = 1.8;
- //速度
- var my_Init_Speed = 7;
- var my_chushiSpeed = 1;
- var my_ifxuandu = 0.99;
- var my_cengji = 0;
- this.createEmptyMovieClip("my_mc1", 1);
- this.createEmptyMovieClip("my_mc2", 2);
- var my_ceng_map = new BitmapData(300, 300, true, 0);
- var my_ceng_2_map = my_ceng_map.clone();
- my_mc1.attachBitmap(my_ceng_map, 1);
- var my_transmatrix = new Matrix();
- var transcolor = new ColorTransform();
- my_transmatrix.scale(my_Init_fang, my_Init_fang);
- my_transmatrix.translate(-my_ceng_2_map.width*my_Init_fang/2, -my_ceng_2_map.height*my_Init_fang/2);
- my_transmatrix.rotate(my_jiaodu_In);
- my_transmatrix.translate(my_ceng_2_map.width/2, my_ceng_2_map.height/2);
- onEnterFrame = function () {
- my_getIMG();
- my_ceng_2_map.draw(_root);
- var blur = new flash.filters.BlurFilter(2, 2, 1);
- my_ceng_2_map.applyFilter(my_ceng_2_map, my_ceng_2_map.rectmy_jiaodu_In, new flash.geom.Point(0, 0), blur);
- my_ceng_map.draw(my_ceng_2_map, my_transmatrix, transcolor, "normal", my_ceng_map.rectmy_jiaodu_In, true);
- };
- function my_getIMG() {
- my_cengji++;
- var part = my_mc2.attachMovie("stearss", "star_mc"+my_cengji, my_cengji);
- part._x = my_mc2._xmouse;
- part._y = my_mc2._ymouse;
- part._xscale = part._yscale=35+75*Math.random();
- var my_jiaodu_In = Math.PI*2*Math.random();
- part._rotation = my_jiaodu_In*180/Math.PI;
- part.vx = my_Init_Speed*Math.cos(my_jiaodu_In);
- part.vy = my_Init_Speed*Math.sin(my_jiaodu_In);
- part.onEnterFrame = my_begin_bmap;
- }
- function my_begin_bmap() {
- this._x += this.vx *= my_chushiSpeed;
- this._y += this.vy *= my_chushiSpeed;
- this._xscale = this._yscale *= my_ifxuandu;
- if (this._xscale<10) {
- this.removeMovieClip();
- }
- }
复制代码 |