返回列表 回复 发帖

Tween类演绎鼠标效果之飘浮的星星


演示地址:
http://www.taoshaw.com/taoshaw/study/heart_in_mylove
这种效果制作过程倒不复杂。主要运用到了一个类-Tween。利用Tween类进行MC缓动效果制作。
熟悉Tween类,对以后物体的运动制作。很重要。
1、设置影片的属性。这里设置为800*600。

2、创建一个影片剪辑。并设置为可以AS中调出。

3、在第一帧中,绘制出一个桃心。然后填充颜色。


4、在第二帧插入关键帧,并把填充颜色改一下。


5、然后,依次再创建三个关键帧,并分别调整MC的填充效果。
6、这个时候,为了增强立体效果。可以再新建一个层。然后增加一些透明效果。使MC更具立体效果。

7、插入一个AS层。在第一帧添加AS:
stop();
8、图层样式如下:

9、回到场景中,添加AS。

10、AS代码如下:
  1. //================版权声明开始================//
  2. //★淘沙网:http://www.taoshaw.com
  3. //★淘沙网所有教程欢迎转载。不过请转载时注明出处。谢谢合作。
  4. //================版权声明结束================//
  5. //创建新右键菜单
  6. myMenu = new ContextMenu();
  7. //隐藏右键菜单
  8. myMenu.hideBuiltInItems();
  9. myMenu.customItems.push(new ContextMenuItem("淘沙網:http://www.taoshaw.com", PR));
  10. Stage.scaleMode = 'noScale';
  11. function PR(obj, item) {
  12. getURL("http://www.taoshaw.com", "_blank");
  13. }
  14. //将新菜单赋予给场景
  15. _root.menu = myMenu;
  16. stop();
  17. //导入Tween类
  18. import mx.transitions.Tween;
  19. //导入easing类
  20. import mx.transitions.easing.*;
  21. //在场景中创建一个空影片剪辑,用于加载库中的MC
  22. _root.createEmptyMovieClip("blank_mc", 2);
  23. //变量初始化
  24. var i:Number = 1;
  25. //设定总量
  26. var menber:Number = 500;
  27. //设置主体运行函数,即复制星星的函数
  28. function _begin():Void {
  29. //调用库中的星星
  30. var my_mc = blank_mc.attachMovie("my_heart", "my_heart"+i, i+100);
  31. //设置变量
  32. my_scale = random(50)+70;
  33. my_xeizhe = _xmouse+random(150)-90;
  34. my_yweizhi = _ymouse+random(90)-30;
  35. //此处表示,对_xsacle参数进行设置,Strong,在一端或两端添加较慢的运动。此效果类似于 Regular 缓动类,但它更明显。
  36. //easeInOut在过渡的开始和结尾提供缓动效果。以及设置开始值、结束值、动画持续时间等。是否以秒做为计时单位。
  37. //以下是分别设置复制的星星的_xscale、_yscale、_alpha、_x、_y。
  38. var my_tew1:Tween = new Tween(my_mc, "_xscale", Strong.easeOut, 30, my_scale, 10, true);
  39. var my_tew2:Tween = new Tween(my_mc, "_yscale", Strong.easeOut, 30, my_scale, 10, true);
  40. var my_tew3:Tween = new Tween(my_mc, "_alpha", Strong.easeOut, 10, my_scale, 2, true);
  41. var my_tew4:Tween = new Tween(my_mc, "_x", Strong.easeOut, _xmouse, my_xeizhe, 2, true);
  42. var my_tween_y:Tween = new Tween(my_mc, "_y", Strong.easeIn, my_yweizhi, 0, 2, true);
  43. //设置星星显示第几帧的内容。
  44. my_mc.gotoAndStop(Math.floor(Math.random()*6));
  45. //当动画到达持续时间的结束点时调用下面函数。删除my_mc,這樣會降低CPU的使用率。推薦使用這個。
  46. my_tween_y.onMotionFinished = function() {
  47. removeMovieClip(my_mc);
  48. };
  49. if (i>=menber) {
  50. i = 1;
  51. }
  52. //持續copy。。。
  53. i++;
  54. }
  55. //设定触发函数,此处设置为鼠标效果
  56. onMouseMove = function ():Void {
  57. _begin();
  58. };
复制代码
关于Tween类的学习,请看下篇文章:
http://www.taoshaw.com/taoshaw/article.asp?id=1385

[ 本帖最后由 taoshaw 于 2008-9-7 13:10 编辑 ]

heart_in_my_love.rar (7.85 KB)

承接网站建设、FLASH类项目、招收AS3.0学员。
QQ:8286659。
学成作品:http://www.taoshaw.com/v3
返回列表