【flash秀】用自己照片做电子时钟 (5/197)

< 上一篇下一篇 >
本帖地址: 复制地址

修改 回帖 引用 楼主: 流浪

用户形象图片

QQ ·676816259· ·教程地址·user.qzone.qq.com/676816259/blog/1246107939·

flash动画效果地址·wjwz6768.any2000.com/w/j/wjwz6768/fh/6.swf

                                                                                                                                                                            1.启动FLASH8 软件
    2.确立文档属性 设置动画尺寸为550*400,帧频为15,背景颜色黑,其它默认,点击确定,进入场景1。如图1所示:


 

图1

    3.创立影片剪辑元件 选择“插入-新建元件”,建立一个名为背景的影片剪辑,点击确定,进入元件编辑区。添加一个图层,共两个图层。
    (1)选择图层1第1帧,导入一张已准备好的背景图片,规格为550*400,选中该图片,左对齐,上对齐。如图2所示:

图2

操作完成后的该实例,如图3所示:

(2)选择图层2第1帧,右键该帧处,打开动作面板,在as编辑区输入如下语句:
/* 定义5个全局变量 */
var time:Number = 0;
var timeMin:Number = 100;
var alphaDrop:Number = 2;
var growBy:Number = 2;
var rotateByMax:Number = 10;

/* 转变弧度的函数 */
function deg2rad(degrees:Number):Number {
  return degrees * Math.PI / 180;
}

/* 返回最大值和最小值之间的一个数 */
function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
  return randomNum;
}

/* 绘制规则多边形,设置颜色、大小、半径 */
function drawPoly(sides:Number, color:Number, radius:Number):MovieClip {
  var depth:Number = _root.getNextHighestDepth();
  var poly_mc:MovieClip = _root.createEmptyMovieClip("poly" + depth, depth);
  var unitAngle = deg2rad(360 / sides);

  poly_mc.beginFill(color);
  poly_mc.moveTo(radius, 0);
  for (var i:Number = 1; i < sides; i++) {
    var turn:Number = unitAngle * i;
    var dx:Number = Math.cos(turn) * radius;
    var dy:Number = Math.sin(turn) * radius;
    poly_mc.lineTo(dx, dy);
  }
  poly_mc.endFill();

  return poly_mc;
}

/* 初始化一个影片剪辑 */
function initPoly():Void {
  this._x = _xmouse;
  this._y = _ymouse;
  this._xscale = this._yscale = 0;
  this.rotateBy = randRange(-rotateByMax, rotateByMax);

  this.onEnterFrame = function():Void {
    this._xscale = this._yscale += growBy;
    this._alpha -= alphaDrop;
    this._rotation += this.rotateBy;

    if (this._alpha < 0) {
      this.removeMovieClip();
    }
  };
}

/* 主程序 */
onMouseMove = function():Void {
  if (getTimer() - time > timeMin) {
    initPoly.apply(drawPoly(randRange(3, 12), randRange(0, 0xFFFFFF), 100));
    time = getTimer();
  }
};


    4.组织编辑场景 返回场景1,添加三个图层,共四个图层。自下而上分别命名为背景、文本、as、

    (1)选择背景图层第1帧,从库中拖出背景影片剪辑到场景工作区,全居中。在第2帧插入帧。上锁。

    (2)选择文本图层第1帧,用文本工具设置其参数如图4所示:

选用动态文本,在舞台拖出五个文本框, 。其参考位置,如图5所示:

再用静态文本输入相关面容


自上而下,自左而右分别依次选中各个动态文本框,先后在变量中确定其变量名称为yeahtext、daytext、weektext、half、timetext。在第2帧插入帧。上锁。如图6所示:

图6

    (3)选择as图层第1帧,右键该帧处,打开动作面板,在as编辑区输入如下语句:
// 创建新的日期对象
time = new Date();
// 把系统当前的时钟值赋给变量hour
// 把系统当前的分钟值赋给变量minute
// 把系统当前的秒种值赋给变量second
hour = time.getHours();
minute = time.getMinutes();
second = time.getSeconds();
milli = int(time.getMilliseconds()/10);
// 如果分钟值是一位数,就在前面加一个0
if (minute<10) {
minute = "0"+minute;
}
// 如果秒钟值小于10,就在前面加一个0
if (second<10) {
second = "0"+second;
}
if (milli<10) {
milli = "0"+milli;
}
// 如果时钟值小于12,则在half文本框里显示AM(午前),否则显示为PM(午后)
if (hour<12) {
half = "上午";
} else {
half = "下午";
}
// 把系统的当前年份显示在yeahtext文本框里
yeahtext = time.getFullYear();
// 把系统的当前日期显示在daytext文本框里
daytext = time.getMonth()+1+" 月 "+time.getDate()+" 日";
// 把系统的当前星期显示在weektext文本框里
weektext = "星期 "+time.getDay();
// 把系统的当前时间显示在timetext文本框里
timetext = hour+":"+minute+":"+second+":"+milli;

 


流浪 (676816259) 于 2009-07-25 17:53:16 对此贴进行了编辑
流浪 (676816259) 于 2009-07-26 09:39:35 对此贴进行了编辑
流浪 (676816259) 于 2009-07-27 09:11:12 对此贴进行了编辑
回到帖子顶部

回帖 引用 1楼漂泊雪

用户形象图片

楼主您好,您的发帖格式错了,麻烦修改下,修改后解锁,谢谢!

正确格式:【Flash秀】XXXXXXX(帖子标题)
回到帖子顶部

回帖 引用 2楼漂泊雪

用户形象图片

已经解说,谢谢楼主的配合
回到帖子顶部

回帖 引用 3楼永远有多远

用户形象图片

觉得好的朋友一定要顶下贴啊!

觉得好的朋友一定要顶下贴

觉得好的朋友一定要顶下

回到帖子顶部

回帖 引用 4楼~頭文っ字F~

用户形象图片

估计是我丢FLASH 太久了,本想用自己照片弄个,结果着实费了不少劲
回到帖子顶部

回帖 引用 5楼鎻杺♀♂芣嬡

用户形象图片

怎么做啊!大哥在教一下啊!谢谢!
回到帖子顶部
个人信息
  • 荣誉+3
  • 荣誉+2
  • 荣誉+1
  • 荣誉-1
  • 荣誉-2
  • 荣誉-3
发表留言
  • 文章不错!
  • 精华好文!
  • 支持原创文章!
  • 帖子图文并茂,好!
  • 真知灼见,说得好!
  • 恶意广告
  • 违规内容
  • 严重灌水
  • 重复发帖
  • 标题党
你确定要删除此楼层吗
扣20点经验值

快速回复进入高级回复

插入图片 选择表情

验证码 看不清?换一张(不区分大小写)

[完成后按Ctrl+Enter发表]
[回复须知]