论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

用flash制作旋幻时针

文章类别:Flash | 发表日期:2008-9-21 20:11:32

  

用flash制作旋幻时针
DEMONS

--------------------------------------------------------------------------------


 ∠旅娼凑罩谱鞑街枰来谓樯苄檬闭氲淖龇ǎ?br>
  1 基本设置。

  (1)创建一个新的FLASH5文件。

  (2)按组合键“CTRL+M”修改影片属性(“MODIFY-$#@62;MOVIE”),DEMENSIONS的“WITDH”修改为500,背景用白色。

  (3)选择“MODIFY菜单下的SCENE选项”,修改场景名称为“ROTATING CLOCK POINT”。

  2 制作基本MOVIE CLIP。

  (1)按组合键“CTRL+F8”创建(“INSERT” 下的“NEW SYMBOL”)一个新的“MOVIE CLIP”,名称为“ROT-SEED”,

  (2)用“TOOLS”工具箱里的“RECTANGLE TOOL”长方形工具,在场景中画一个灰色的长方形,然后切换到“ARROW”箭头工具选定长方形的上半部分,接着用“PAINT BUCKET TOOL”上色工具选定黑色填充已经选择的长方形,

  (3)选择“ARROW”工具后,把上下2个长方形分别向左和右拉伸,最后拉成一个时针外形即可。(如图1)



(图1)

  (4)做好了“ROT-SEED”以后,按组合键“CTRL+F8”创建一个名为“SEED”的MOVIE CLIP,按“CTRL+L”打开用户库,把刚才做好的“ROT-SEED”拖到当前场景当中。

  (5)按组合键“CTRL+I”打开“INSTANCE”导出实例面板(“WINDOW”-$#@62;“PANAELS”-$#@62;“INSTANCE”,输入INSTANCE名称为“CLOCK”,接着,按组合键“CTRL+ALT+A”输入MOVIE CLIP对象的ACTION:



onClipEvent (load) {

i = 1;

s = 0;

myalpha = 100;

}

onClipEvent (enterFrame) {

i++;

if (s$#@60;=12000 and s$#@62;=0) {

s = i*i;

this._rotation = s;

this._xscale = i;

this._alpha = myalpha--;

}

}

  这里,当这个帧被读取的时候,设定了3个初始变量:I,S和MYALPHA,分别控制循环次数,旋转度数和ALPHA透明度。

  在每次进入这个帧的时候,就依次递增I(可间接代替FOR循环),用IF条件语句判定S的度数,假如S没有超出规定的范围(12000),那么就让这个MOVIE对象旋转,其语句就是设定_ROTATION属性,而它的ALPHA属性会每次的递减,直到“消? 为止。

  最后,“CTRL+L”打开用户库,右击“SEED”,选择“LINKAGE”,在“SYMBOL LINKAGE PROPERTIES”连接属性当中选择“EXPORT THIS SYMBOL”方式,在“IDENTIFIER:”(ID名称)中输入SEED。(如图2)





(图2)

  (6)新建一个“MOVIE CLIP”,并且输入名称为:“BG”,在其中用“RECTANGLE TOOL”画一个白色的长方形,这样,所有的基本元件就做好了。




  3,主场景设计。

  (1)先把“BG”从库中拉到主场景当中,然后按“CTRL+I”设定INSTANCE NAME:BG;

  (2)在主场景的第1帧按F6插入要害帧,并双击这个帧输入ACTION:

fscommand ("fullscreen", "true");

stop ();

function clear (seednum) {

if (seednum==0) {

return;

}

for (i=seednum; i$#@62;0; i--) {

removeMovieClip (_root.bg["seed"add i]);

}

}

  先用FS COMMAND设定全屏幕播放的外部命令,并停止当前播放的进程(假如影片只有1帧,也可以不用STOP,但最后一帧用STOP也是一个好习惯);

  主场景ACTION内写了一个CLEAR的函数,预备随时被需要的地方调用,功能在下面会结合调用的地方一起说明。

(3)选定“BG”,然后按组合键“CTRL+ALT+A”打开ACTION面板,输入如下ACTION:




onClipEvent (mouseMove) {

_root.clear(this.seednum);

this.seednum = random(100)+20;

for (i=1; i$#@60;=this.seednum; i++) {

this.attachMovie("seed", "seed"add i, i);

this["seed"add i]._x=random(500)-random(500);

this["seed"add i]._y=random(400)-random(400);

xyseed = random(100);

this["seed"add i]._xscale=xyseed;

this["seed"add i]._yscale=xyseed;

this["seed"add i]._rotation=random(360);

}

}

  既是当鼠标移动的时候,产生一个20~120的随机数提供给种子变量SEEDNUM,用一个FOR循环来绑定SEEDNUM个“SEED”,这需要语句ATTACHMOVIE来配合,每新产生的MOVIE 对象都被赋予了名称(SEED1、SEED2……SEED SEEDNUM)和层次(1,2……SEEDNUM);

  设定了名称和层次还不能很好的控制SEED,这里,使用了常用的_X、_Y(坐标)、_XSCALE、_YSCALE(大小)和_ROTATION(旋转),请读者自行测试其功能以加强理解。

  以上是一次循环下来的结果,但是,当用户再次挪动鼠标的时候也会产生这段ACTION,那就会产生不希望的结果,所以用到了函数CLEAR(),当用户鼠标移动,首先清楚上次产生的MOVIE,而SEEDNUM就是没有改变的上次MOVIE对象的总数,调用CLEAR以后,用循环的方法,结合REMOVIEMOVIECLIP删除“BG”下的所有MOVIE对象,这样,新的MOVIE产生以后是不会产生冲突,并得到了最终结果:旋幻时钟。

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058