当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 教程/Flash/实例 用Flash制作互动的小人

Flash动画制作
Flash实例教程:制作圣诞节祝福贺卡
Flash相册图片加载完毕等比缩放的类
Flash as教程:逼真的瀑布特效动画
Flash CS4入门教程:给任意照片添加雪景动画
Flash入门实例:新年快乐镜面跳动字动画
Flash新手鼠绘(4):鲜艳欲滴的樱桃
Flash新手鼠绘(5):梅花花瓣的制作
Flash 制作晃动光线文字特效
flash中影片剪辑的排列顺序控制和拖拽效果
利用AS脚本功能实现图片模糊变清晰
Flash动画制作实例:单个背景循环移动动画
Flash动画技巧:绘制小鸡的动画效果
Flash实例教程:制作蒸汽烟雾飘飘动画
Flash实例教程:制作庆祝春节的烟花动画
Flash技巧:羽化遮罩制作好看图片切换动画
Flash简单制作星球大战文字动画特效
Flash技巧:运用图层简单实现传统数字动画效果
Flash CS3教程:将工程转换到视频格式

Flash动画制作 中的 教程/Flash/实例 用Flash制作互动的小人


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 35 ::
收藏到网摘: n/a

    我们先来看看实例的效果,场景中有六个小球,分别代表人的头、腰、手、脚,如果用鼠标拖动小人身体的任何一部分,身体的部分都会做出相应的动作,整个身体各部分之间位置的改变是很协调的。




  实现其实是很简单的,下面我们一步一步来制作这个实例效果。

  1、打开,新建一个场景,按“Ctrl + F8”新建一个Clip,命名为“Symbol 5”,类型为“Button”,用椭圆工具在此Clip的场景中绘制一个圆,并用填充工具填充一个渐变颜色,如图所示。

  


2、按“Ctrl + F8”新建一个Clip,命名为“Symbol 1”,类型为“Movie Clip”,将上一步所制作的“Symbol 5”拖到此Clip的场景中,并在“Symbol 5”Clip的Action面板上面增加如下语句:

on (press) {
  this.startDrag(); //当鼠标点击的时候,拖动Clip
}
on (release, releaseOutside) { //当放开鼠标的时候,停止拖动Clip
  this.stopDrag();
}


  3、按“Ctrl + F8”新建一个Clip,命名为“Symbol 4”,类型为“Movie Clip”,用直线工具在此Clip的场景中绘制一小段直线。

  4、按“Ctrl + F8”新建一个Clip,命名为“Symbol 1 copy”,类型为“Movie Clip”,将第一步中制作的“Symbol 5”拖到此Clip的场景中,并在“Symbol 5”Clip的Action面板上面增加如下语句:


on (press) {
  this.startDrag();
  drag = 1;
}

on (release, releaseOutside) {
  this.stopDrag();
  drag = 0;
}


  5、在“Symbol 1 copy”Clip中,用鼠标右键单击时间轴上面的图层,选取插入一个新的图层,将第三步所制作的“Symbol 4”拖到新插入图层的场景里面,选取场景中的“Symbol 4”,在属性面板上面设置实例名为“link”。

  6、在“Symbol 1 copy”Clip中,用鼠标右键单击时间轴上面的图层,再选取插入一个新的图层,在此图层的第一帧的Action面板上面插入如下语句:

nx = parent._x+sx; //取得场景中表示头的那个小球的位置。

ny = parent._y+sy;

if (i<1) {

  i = Math.ceil(Math.random()*179); //取得一个随机的整数。

}

if (i>180) {

  i = 1; //大于180,则重新置为1

} else {

  i++;

}

x = ((_root.inertion-1)*_x+nx)/_root.inertion+_root.s[i]*_root.force;
//计算取得小球所要改变位置的值

y = ((_root.inertion-1)*_y+ny)/_root.inertion;

dx = x-_x;

dy = y-_y;

if (drag>0) {

  parent._x = parent._x-dx/_root.elast; //改变球的位置

  parent._y = parent._y-dy/_root.elast;

  if (parent.parent) { //改变代表头部的小球的位置

    parent.parent._x = parent.parent._x-dx/_root.elast/_root.elast/_root.elast;

    parent.parent._y = parent.parent._y-dy/_root.elast/_root.elast/_root.elast;

  }

} else {

  _x = x;

  _y = y;

}

dx = parent._x-_x; //重新取得值,在下一帧中使用

dy = _y-parent._y;

link._xscale = dx*10; //改变球之间的直线的长度

link._yscale = dy*10;


  在新插入图层的第二帧上面单击鼠标右键,选取插入空白关键帧,此时图层之间的位置应该如图所示,在第二帧的Action面板上面插入一段ActioScript代码,这段代码跟跟上一帧是一样的,需要两帧是因为要不断播放,不断的改变球之间的位置。

7、回到影片的主场景中,用“Ctrl + L”打开图库,从图库中拖一个“Symbol 1”Clip的实例到场景中,并在其的属性面板上面设置实例名为“sparent”。从图库中拖五个“Symbol 1 copy”Clip的实例到场景中,并分别在它们的属性面板上面设置实例名为“i1”、“i21”、“i22”、“i3”、“i2”,此时场景中应该如图所示。