论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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 | 发表日期:2008-9-21 15:03:24

  

跟随移动的图片效果如何实现?
解决思路
本效果因为是一个应用实例,所以在结构上有一些繁琐。但是万变不离其宗,原理都是一样的。由图片和修饰框组成了基础mc,连接几个基础mc制作成图片组,首尾相连的图片组构成了影片剪辑aa。为了实现其显示信息的目的,在基础mv里面应用了隐性按钮。

具体步骤
1、介绍一下大致的框袈:界面里面放置了四个按钮,请自行参考源码。重点来看图片的MC。结构是这样的:实例名为aa的MC里共有三层,第一层是实例名为mc1_mc的图片MC,第二层是遮罩,第三层是AS代码层。如图3.3.39所示。


图3.3.39????影片剪辑“aa”
2、实例名为mc1_mc的图片MC里是两个首尾相连的图片组,如图3.3.40所示。


3、进入图片组会看到,每一个图片也是一个MC,内部是三层结构,第一层是图片,第二层是隐形按钮,第三层是外框。如图3.3.41所示。


图3.3.41?????基础mc的结构
4、完整的结构为:影片剪辑aa------mc1_mc---------基础mc(即舞台中的图片影片剪辑,在每个基础mc里面包括一个隐性按钮)。
5、我们来看隐形按钮上的代码:
on?(rollOver)?{
????_root.wen="剑侠情缘--第一个MV作品。";
}
on?(releaseOutside,?rollOut,?dragOut)?{
????_root.wen="跟随鼠标移动的图片?";
}
on?(release)?{
????getURL("http://www.flash8.net/upload/film/mtv_wangbin200323224030.swf";,?"_blank");
}
解释如下:
鼠标经过时,动态文本框中显示"剑侠情缘--第一个MV作品。"
鼠标离开时,动态文本框中显示"跟随鼠标移动的图片。"
鼠标释放时,在新窗口打开网页
http://www.flash8.net/upload/film/mtv_wangbin200323224030.swf
每个按钮的代码类似,不再详解。请参考源码。?
5、来看实例名为aa的MC里第三层的AS代码,选中帧,添加代码如下:
_root.wen="跟随鼠标移动的图片";
_root.aa.mc1_mc.onEnterFrame?=?function()?{
????if?(this.hitTest(_root._xmouse,_root._ymouse,true))?{
????????distance?=?_root._xmouse-455;
????????this._x?-=?distance/10;
????????if?(this._x<-1344.8)?{
????????????this._x?=?0;
????????}
????????if?(this._x>0)?{
????????????this._x?=?-1344.8;
????????}
????}?else?{
????????if?(distance>0)?{
????????????distance=distance-5;
????????????if?(distance<=0)?{
????????????????distance=0;
????????????}
????????}?else?if?(distance<0)?{
????????????distance=distance+5;
????????????if?(distance>=0)?{
????????????????distance=0;
????????????}
????????}
????????this._x?-=?distance/50;
????????if?(this._x<-1344.8)?{
????????????this._x?=?0;
????????}
????????if?(this._x>0)?{
????????????this._x?=?-1344.8;
????????}
????}
};
解释如下:
第一句只是要动态文本框开始时有显示。然后给_root.aa.mc1_mc设置onEnterFrame事件,意味着以帧频持续调用此函数。利用判定语句进行判定,假如鼠标在MC上的话,则执行下面的动作。利用?distance?=?_root._xmouse-455;得到鼠标的X坐标与455的差值。?/10是个系数,此值越大,移动越慢。1344.8是一个图片组的长度,
if?(this._x<-1344.8)?{?this._x?=?0;?}
if?(this._x>0)?{this._x?=?-1344.8;}
这就是连续滚动的代码。
假如鼠标不在MC上时,利用了distance此时是一个定值设计了这段代码
this._x?-=?distance/50可以看到,假如distance=0,图片就不再移动了。
再完善一下,加上以下代码:
if?(this._x<-1344.8)?{?this._x?=?0;?}
if?(this._x>0)?{this._x?=?-1344.8;}
这样就不会出错了
6、返回到场景1,进行必要的修饰。单击工具栏中的文本工具,选择动态文本,在舞台中键入一个动态文本框,并设置变量名为wen。用一现实as里面的设置。
7、保存,测试。参看源文件“跟随鼠标运动的图片”。

上一篇:{技巧}Loading是如何制作的? 人气:3560
下一篇:{技巧}如何制作鼠标跟随? 人气:2835
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058