网页教学网
 当前位置: 网页教学网 >> 动画制作 >> Flash基础知识 >> 阅读:让小黑人360度旋转的制作技巧
[ HTML ] [ FW ] [ DW ] [ FP ] [ JS ] [ XML ] [ CSS ] [ 图象 ] [ FLASH ] [ .NET ] [ ASP ] [ JSP ] [ PHP ] [ 数据 ] [ 系统 ] [ 安全 ] [ 素材 ] [ 建站 ] [ 主机 ] [ 入门 ] [ 技巧 ]

让小黑人360度旋转的制作技巧

http://www.webjx.com  更新日期:2005-02-27 08:44  出处:网页教学网  作者:

先预览一下旋转效果:

主要还是用自定义的Move类。

1、在主场景中画一竖直的线,要粗点,作为身体。画一圆形作为头部,并转化为MC,实例名为ball
2、在电影的第一帧上加上

var p = Math.PI*2;
var a = [0, p / 4, 0, p / 4, 0, p / 4, 0, p / 4, p / 8];//人各个部位的弧度
var b = [400, 400, 450, 450, 450, 450, 300, 200, 175];
var c = [20, 20, 20, 20, 40, 40, 60, 80, 20];//人各个部位的y坐标和截距
var num = 9;//部位的数目,如要更多,自己添加
var i = 0;
while (i < num) {
  ball.duplicateMovieClip("ball" + i, i);
  this["ball" + i].i = i;
  i++;
}
ball8._xscale = (ball8._yscale = 200);//头部放大
//下面为连线,组成一个人 
onEnterFrame = function () {
  createEmptyMovieClip("line", 2000);
  with (line) {
   lineStyle(8, 0, 100);
   var i = 0;
   while (i <= 1) {
    moveTo(ball._x, ball._y);
    lineTo(this["ball" + i]._x, this["ball" + i]._y);
    i++;
   }
   var i = 0;
   while (i <= 3) {
    moveTo(this["ball" + i]._x, this["ball" + i]._y);
    lineTo(this["ball" + (i + 2)]._x, this["ball" + (i + 2)]._y);
    i++;
   }
   var i = 6;
   while (i <= 7) {
    moveTo(body._x, body._y);
    lineTo(this["ball" + i]._x, this["ball" + i]._y);
    i++;
   }
  }
};


3、选中头部,加上AS:

onClipEvent (load) {
  var myMove = new Move (150, 300, 20, 2, 0);
  var i;
  if (this._name != "ball") {
   myMove.timer(_parent.a[i]);//设置人各部位的弧度
   myMove.cen_y(_parent.b[i]);//设置人各部位的截距
   myMove.cen_a(_parent.c[i]);//设置人各部位的y坐标
  } else {
   myMove.cen_a(0);
   myMove.cen_b(0);
  }
  if (this._name != "ball8") {
   this._visible = 0;
  }
}
onClipEvent (enterFrame) {
  myMove.myMove(this);//小人转动
} 

源文件下载

关键词:
推荐给好友】【关闭】【收藏本文
最新五条评论
查看全部评论
评论总数 0
您的评论
用户名: 新注册) 密 码: 匿名:
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为