注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

<<按钮制作>>及影片控制代码  

2008-10-20 11:13:34|  分类: flash课件制作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<一> 创建按钮的方法 

1.新建按钮元件

   新建一个影片文档,执行【插入】|【新建元件】命令,弹出一个【新建元件】对话框,在【名称】中输入“圆形按钮”,选择【行为】为【按钮】类型,如图4-4-4所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-4 新建按钮元件

单击【确定】按钮,进入到按钮元件的编辑场景中,如图4-4-5所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-5 圆形按钮的编辑时间轴

 2.创建按钮

  (1)绘制按钮图形

 步骤1 创建【弹起】帧上的图形

  将【图层1】重新命名为“圆形”,选择这个图层的第1帧(弹起帧),利用【椭圆工具】绘制出如图4-4-6所示的按钮形状。

screen.width-500)this.style.width=screen.width-500;">

图4-4-6 【弹起】帧上的图形

  这个形状是由一个蓝色圆形和一些小椭圆形状组合而成的,另外为了表现球的立体感,在蓝色圆形下边还绘制了一个椭圆阴影。你可以参考源文件进行绘制,另外你完全可以充分发挥自己的想象力,绘制出更漂亮的按钮图形。

 步骤2 创建【指针经过】帧上的图形

   选择【指针经过】帧,按F6键插入一个关键帧,并把该帧上的图形重新填充为橄榄绿色,如图4-4-7所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-7 【指针经过】帧上的图形

  步骤3 创建【按下】帧上的图形

  【按下】帧上的图形和【弹起】帧上的图形相同,因此利用复制帧的方法即可得到。先用鼠标右键单击【弹起】帧,在弹出的菜单中选择【复制帧】命令,然后用鼠标右键单击【按下】帧,在弹出的菜单中选择【粘贴帧】命令即可。

  步骤4 创建【点击】帧上的图形

   选择【点击】帧,按F7键插入一个空白关键帧,这里要定义鼠标的响应区。用【矩形工具】绘制一个矩形,如图4-4-8所示。注意一定要让这个矩形完全包容前面关键帧中的图形。

screen.width-500)this.style.width=screen.width-500;">

图4-4-8 【点击】帧上的图形

  说明:【点击】帧中的内容,在播放时是看不到的,但是它可以定义对鼠标单击所能够做出反应的按钮区域。也可以不定义【点击】帧,这时【弹起】状态下的对象就会被作为鼠标响应区。

  (2)创建文字效果

   为了使按钮更实用并更具动感,下面我们在圆形按钮图形上再增加一些文字特效。

  步骤1 创建【文字1】图层

   在【圆形】图层上新建一个图层,并重新命名为“文字1”。在这个图层的第1帧,用【文本工具】输入“play”文字,字体颜色用黑色,如图4-4-9所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-9 创建【文字1】图层

 步骤2 创建【文字2】图层

   在【文字1】图层上新建一个图层,并重新命名为“文字2”。先将【文字1】图层上的文字原样原位置复制到【文字2】图层的第1帧上。方法是,单击选择【文字1】图层上的文字,执行【编辑】|【复制】命令,然后单击选择【文字2】图层的第1帧,执行【编辑】|【粘贴到当前位置】命令即可。

   除了【文字2】图层,锁定其他图层,然后选择这个图层上的文字对象,按下向上方向键和向左方向键各两次,然后将文字的颜色更改为绿色。这样就形成一个立体效果的文字,如图4-4-10所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-10 【弹起】帧的文字效果

  选择【文字2】图层的第2帧,按F6键插入一个关键帧,将这个关键帧上的文字颜色改为蓝色,如图4-4-11所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-11 【指针经过】帧的文字效果

至此,这个按钮元件就制作好了,现在我们返回【场景1】,并从【库】面板中将“圆形按钮”元件拖放一个实例到舞台上,然后按下Ctrl+Enter组合键测试一下,怎么样?将你的鼠标指针移动到按钮上,够漂亮吧?

         再说按钮

   按钮有特殊的编辑环境,通过在四个不同状态的帧时间轴上创建关键帧,可以指定不同的按钮状态,如图4-4-1所示。

screen.width-500)this.style.width=screen.width-500;">

图4-4-1 按钮的四帧编辑环境

   【弹起】帧:表示鼠标指针不在按钮上时的状态。

   【指针经过】帧:表示鼠标指针在按钮上时的状态。

   【按下】帧:表示鼠标单击按钮时的状态。

   【点击】帧:定义对鼠标做出反应的区域,这个反应区域在影片播放时是看不到的。

   【点击】帧比较特殊,这个关键帧中的图形将决定按钮有效范围。它不应该与前3个帧的内容一样,但这个图形应该大到足够包容前3个帧的内容。

注意:有的朋友总是抱怨:怎么我的按钮“一闪闪的”,很难单击它!这一般发生在文字类按钮,如果你没在“按钮有效区”关键帧设置一个适当图形,那么,这个按钮的有效区仅是第一帧的对象,文字的线条较细且分散,难怪很难找到“有效区”了!

  “有效区”图形还可以充满整个屏幕,退出按钮编辑后,“有效区”图形是不可见的。

根据实际需要,你还可以把按钮做成如图4-4-2所示的结构。

screen.width-500)this.style.width=screen.width-500;">

图4-4-2 按钮的帧内容可以随意扩充

从图4-4-2中可以看到,按钮的3个“状态关键帧”中,可以放置除按钮本身以外的任何Flash对象,其中:【状态音效】图层设置了2种音效;【按钮动画】图层使鼠标不同操作出现不同动画效果,而【按钮底图】中可放置不同的图片。

   你可以想象一下:利用这个特点,我们可以把按钮做成何等有声有色、变化无限的效果!

   在Flash 5及之前的版本中,按钮的“状态关键帧”还接受ActionScript指令,从Flash MX开始已经废弃了这一功能,事实上,在按钮实例中加入“事件指令”更方便、更灵活!

   按钮的“事件指令”以及在这些“事件”中进行的动画编程,使按钮的创作空间变得无比宽广!有关按钮事件及其应用请你参阅第六章的相关内容。

   另外,“按钮”还可以设置“实例名”,从而使按钮成为能被ActionScript控制的对象。

   你一定为那些精彩的动画游戏以及丰富多彩的网络交互动画所惊叹,按钮在其中起着举足轻重的作用,其实,通过自己不断的磨练,你完全能够做出让别人赞叹的作品!

                  <二>   用按钮控制动画播放

鼠标右键菜单设置  

fscommand ("showmenu", "true/false");     (TRUE显示,FALSE不显示)

关联as文件的方法 

 如你的fla同文件夹下面关联文件名为“文件名.as”的文件的方法,你在第一帧上加入

#include  "文件名.as" 

 

如你的fla同文件夹下面关联script.as的文件的方法,你在第一帧上加入

#include  "×.as"

备注:1).播放按纽脚本语句:on必须在影片剪辑器中找同时使用下列语句前必须给按纽编上实例名才行。

当前场景:

on (release) { play();}

 on (press) { stop();}

暂停按纽脚本语句:on (release) {  i++;  if (i == 1) {  play();  } else {  stop(); }  if (i>=2) {   i = 0;  } }

或者:                       on (release) {if (i == 0) {play();i = "1";} else {stop();i = "0";}}

 2)如何用flash8给按钮加跳转到下一页的动作

任意场景,如:

on (release) {gotoAndPlay("场景 ?", ?);}

 on (release) {gotoAndStop("场景 ?", ?);}

//?表示场景数或帧数。

 

 stopAllSounds();//当鼠标按下再释放的时候,停止所有的声音,跳转并且停在第81帧处。

3)逐贞播放

 

下一贞:   on (release) {nextFrame();}

上一贞:on(release){prevFrame();}

 

下一场景:       on (release) {nextScene();}

 上一场景:    on (release) { prevScene();}

4)快进(退)

 

on (release) { gotoAndPlay(_currentframe + 10); }     或

on (release) { yy_mc.gotoAndPlay(yy_mc._currentframe+10);}

意思:function()——播放头所在贞;-root.-currentframef+10表示当前贞向前加10贞,也可加任意贞数,加1贞就是逐贞播放了;若+改为-就变成快退了。

 

5)跳转到影片剪辑的某贞的代码:

on (release) {with(da){gotoAndStop(2);}}

 

注:with(da)表示要跳转到的对象既影片剪辑实例名为da。gotoAndStop(2)表示要跳转到对象的第二贞停止。剪辑的第一贞设为空白贞并加上停止代码.

6)链接网址代码:

按钮上的链接代码on (release){getURL("网址");}

文字链接无需代码,用于链接的文字文本选中后点属性在属性中网址框中直接输入网址即可.在"目标"的左侧框中.

7)退出:

on(release){fscommand("quit");}

8)flash中按钮控制隐藏显示对象

 同一个按钮实现yp_mc显示与隐藏的方法:

首先在影片剪辑所在的场景的主时间轴的帧上加上yp_mc的隐藏代码:this.yp_mc._visible =0;

按钮上加上代码:on (press) {

        if (i == 0) {

                 this.yp_mc._visible = 1;

                 i = "1";

        } else {

                 this.yp_mc._visible = 0;

                 i = "0";

        }

}

 

   on (press) {   if (i == 0) {

                 this.yp_mc._visible = ture ;

                 i = "1";

        } else {

                 this.yp_mc._visible = false;

                 i = "0";

        }

}

控制对象的显示(多用于填空)(让对象可见与不可见的控制)

按钮上的脚本语言:

on(release){

    stopAllSounds();

      t1._visible=!t1._visible;

}

 

      同时,对应的帧上的脚本语言为:

stop();

t1._visible=0

t2._visible=0

t3._visible=0

t4._visible=0

t5._visible=0

 

//当鼠标按下再释放的时候,停止所有的声音,按钮的对象——影片剪辑实例t1为可见的时候,则变为不可见;如果不可见,则变为可见。

//(帧上的脚本)初始化——设置影片剪辑实例t1、t2、t3、t4、t5等不可见

9)帧上加载影片代码

1.加载到

loadMovie(“xxx.swf”,1)

xxx.swf表示影片名,1表示加载级别,加载层应为第一层。

2.加载到该上的空影片剪辑mymc中:调用按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码;
loadMovie("flash8.swf","mymc");//加载外部的"flash8.swf"文件到"mymc"空影片剪辑中;
mymc._x=70;//加载影片的X轴坐标;
mymc._y=20;//加载影片的Y轴坐标;
mymc._xscale=70;//加载影片的宽度;
mymc._yscale=70;//加载影片的高度;
}
清除按扭上的AS:
on(release){//鼠标离开按扭后执行下面的代码
unloadMovie(mymc);//删除用loadMovie加载的*.swf文件;
}
10)加载帧的页面返回主界面的按钮代码必须有卸载码。

on (release) {gotoAndStop(?);
unloadMovie(1);}

 ?表示主界面所在贞,1表示卸载级别。

 

其他文件加载问题:

 

11)    设置全屏尺寸(使画面布满整个屏幕)

帧上的脚本语言:

将如下脚本语言写在主场景的第一帧上。

fscommand("fullscreen","true");

 

//调用Flash命令集中的命令,满屏,且当条件为真的时候。

12)    设置全屏切换代码(按钮) 

on (release) {

 

       if ($$fullscreen == true) {

              fscommand("fullscreen", false);

              $$fullscreen = false;

       } else {

              fscommand("fullscreen", true);

              $$fullscreen = true;

       }

 

}

13)    影片剪辑清除代码

on (release) {

_root.mc1._visible = 0;

}

附:利用cs编程控制)影片控制

  评论这张
 
阅读(346)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017