Flash建站技能(38):活用按钮控制Flash

网络通信

  编者按:最近,个人网站又逐渐开始热了起来,无论是展示自我、表达心情,还是提供服务、向商业化发展,每个站长都希望自己的网站办得有特色。Flash技术在建站中是必不可少的,利用好Flash技术不仅能使页面个性化,还能实现众多的交互功能。希望大家在这个栏目里学到更多的实用技能。

  Flash技术的一个重要核心就是按钮的制作,网页中的页面交互、动态变化都要通过按钮来完成,可见按钮在网页中的重要性。今天我们就向大家介绍一下Web页面中常见的几种Flash按钮的层级控制技术。

  同级控制按钮

  这里我们使用三个播放控制按钮“PLAY”、“STOP”、“PAUSE”来对Web元素控制。首先我们看一下场景中的元素(图1)。

  在场景中我们建有三个按钮,然后有一段“电脑报”字样的动画,动画效果就是一个最为简单的字体的运动动画,这里我们主要使用这三个按钮来控制“电脑报”动画的播放,动画与按钮处于场景的同一个层级,控制相对较为简单,在PLAY按钮上加上AS语句(图2):

  On (release) {

  Play();

  }

  然后找到“STOP”以及“PAUSE”按钮,分别将事件改为stop()和gotoAndStop(1),这样一个最为简单的控制程序就写好了。通过这样简单的方法,我们已经可以控制动画的播放与停止了。

  我们知道,在Flash Web制作中我们有时会把大多数的动画或交互效果做在每个单独的元件当中,在这种情况下使用上面的方法就无法控制了。那有什么办法可以通过按钮来控制一个MC(影片剪辑)的动画呢?这就是我们下面要讲的如何对单独的元素进行控制。

  单独元素控制按钮

  首先将刚才的场景进行一次简单的变化,将“电脑报”的运动变化做到一个MC里面去,然后将这个MC拖至场景当中,打开MC的属性对话框,给这个MC起一个实例名称,如“movie”(图3)。

  分别打开三个按钮的AS,将按钮的事件改为movie.play()、movie.stop()、movie.gotoAndStop(1)(图4)。

  有编程经验的朋友一定已经明白了,现在这三个按钮已经作为movie这个MC的独享控制按钮了,也就是说这三个按钮已经成为movie这个MC的一个属性,只对MC本身起相应的作用。

  层级控制按钮

  前面提到过真正的Web制作当中,为了使页面元素规范、合理。我们大多会将场景中的元素都单独作为一个元件,然后再拖至场景中,以便于我们的管理与维护。那么如果我们将按钮也做到一个元件当中去,那又如何来控制相应的MC呢?首先我们来看一个控制关系图(图5)。

  要使按钮可以控制动画MC,从图中可以看出元件层与动画MC是同级关系,而按钮是包含在元件层中的,如果我们仍按上面的两种方法控制的话显然是行不通的,这时我们需要先让按钮跳出元件这个层变得与动画MC同级,然后再来控制它;所以这时只须分别改动三个按钮的AS为_root.movie.play()、_root.movie.stop()、_root.movie.gotoAndStop(1) (其中movie与上面的相同,是MC的实例名称)即可,前面的_root则是表示按钮属于根目录下的元素,从图5看显然就会与动画MC同级,也就实现了所要的控制效果。

  这时有读者可能会说,如果按钮元件不是一层而是又向下嵌套一层,但按钮本身只控制它上一层的MC而不是根下的动画MC怎么办呢?这就是层级的另一种控制方法“父子层级控制”,这里如果加_root很显然无法达到要求,这时则需要将按钮的AS改为_parent.movie.play()、_parent.movie.stop()、_parent.movie.gotoAndStop(1),_parent是表明按钮控制的是父层级的动画MC,初看起来_root和_parent似乎有点类似,但实质是不同的,_root是直接返回到根级,而_parent则是向上一层,当场景中只有一层嵌套时_root才与_parent相同。

  编后:现在相信大家对于按钮的控制关系已经掌握了吧?而这些技术虽然看似简单但确是网页制作中最为基本重要的知识,为了便于理解,在文本中我们以常见的播放控制按钮进行讲解,在实际使用中大家根据自己的需要只须改变按钮的功能即可,而层级之间的关系则是相同的。最后希望喜欢Flash Web制作的朋友都可以做出精美的网页来。