第八课
制作带卷轴的文本框
做了一个可以读外部文件的文本框,你有没有发现如果文字一多,文本框就无法全部显示了。能否和Windows的窗口一样,做一个滚动条上下翻页呢?当然可以,看看右面的例子,这一节课,我们先来学着做一个向右面一样的最简单的带卷轴的文本框。 |
|
|
在上一课的基础上,我们稍作改进就可以做出卷轴的效果了。我们打开上一课的FLA文件,新建一个Layer3层。把Layer2层的文本预向左移动一点,然后在Layer3层中在文本域右侧画上两个按钮,一个向上,一个向下。如左图。
|
现在,我们要对向上和向下翻页的按钮进行编程了。文本域的变量其实有一个子属性,就是scroll(卷动)。如果文本域变量是text的话,它的卷动变量就是
text.scroll 。当scroll值加一后,文本就上卷一行,减一则下卷一行。所以,在Layer3层中选中上卷按钮,单击鼠标右键,然后选择Properties...
-> Action ,在Action栏中填入如下程序:
On (Release)
Set Variable: "text.scroll"
= text.scroll-1
End On
如下图。
现在,如法炮制下卷按钮的程序,只要把text.scroll-1改成text.scroll+1即可,如下:
On (Release)
Set Variable: "text.scroll"
= text.scroll-1
End On
最后,把“阅读”按钮中Load Variable的对象改为example1.txt,然后在同一目录下新建这个名为example1.txt的文本文件,内容如下(多按回车键换行):
text=这是一个测试,检测FLASH读取外部文件中的变量。
more...
并且检测上下卷轴的功能
按下向上的箭头
文本向下滚动
按下向下的箭头
文本向上滚动
如果你现在
能够看到这些文字
那么,恭喜,测试成功!
测试完毕!
-EOF-
如下图所示。
好了,按下Ctrl+Enter测试一下,先按“阅读”按钮,读入变量值,然后再按下卷和上卷钮,按一下,卷动一行,成功了吧。是不是觉得这样很折鼠标的“寿命”?要按一下才卷动一行,能不能按下按钮后自动卷动,松开按钮后停止卷动呢?当然可以,现在,我们就来做一些改动,实现这样的功能。(看下面的例子)
|
新建一个空的MC,命名为up,作为上卷按钮的控制程序。第一帧是一个空帧,Action设为Stop。第二帧以后是几个空帧,空帧的数量视文本卷动的速度而定(空帧越多,卷动速度越慢,反之则越快,本例中空了两个空帧)。最后一帧是一个空的关键帧,它的Action要设成这样:
Set Variable: "/:text.scroll" = /:text.scroll-1
Go to and Play (2)
第一行中的Set Variable语句,是要把文本的scroll属性值减一,造成上卷的效果。而这一句中变量“/:text.scroll”是由这么几部分构成的:
“/”。这是路径,表示该变量(或实体)所在的位置,这里表示在根实体(Root Instance)中;
“:”。表明这是一个变量(Variable),而不是实体(Instance),如果是实体,则没有冒号;
“text”。主变量名;
“.scroll”。主变量的子属性变量。
在写第一行点选了Set Variable之后,修改属性时要注意,要点击Value栏右侧的按钮,把它选成Expression(表达式),而不能是String
Literal(字符串)。如右图。因为text.scroll是数值变量而不是字符串变量。而最后的一个选项是Expression
Editor(表达式编辑器),选择它之后,可以随手写入各种表达式。
完成以后,这个MC的Timeline区应如下图所示。
好了,上卷按钮的编程已经完成了,那么依样画葫芦,做一个名为down的MC。其中,只是最后一帧的Action和上卷按钮的程序MC的不一样,这一帧的Action为:
Set Variable: "/:text.scroll" = /:text.scroll+1
Go to and Play (2)
现在,要做最后一步了——把程序和按钮联系起来。回到场景编辑状态,按下Ctrl+L,打开符号库,把刚才做的up和down两个MC拖到场景中的任意层的任意位置。接着分别选中这两个MC,把他们分别命名(Modify
-> Instance -> Instance name)为up和down。(如左图)最后,选中上卷按钮,点击右键,选择Properties...
-> Action,写入如下Action代码:
On (Press)
Begin Tell Target ("/up")
Go to and Play
(2)
End Tell Target
End On
On (Release)
Begin Tell Target ("/up")
Go to and Stop
(1)
End Tell Target
End On
上半部分的On...End On是鼠标按下后通过上卷程序MC控制文本的上卷,下半部分的On...End On是鼠标松开后停止上卷。同样,把下卷按钮的Action也如此修改,只要把Tell
Target的目标改成"/down"即可,代码如下:
On (Press)
Begin Tell Target ("/down")
Go to and Play
(2)
End Tell Target
End On
On (Release)
Begin Tell Target ("/down")
Go to and Stop
(1)
End Tell Target
End On
啊,终于完成了,按下Ctrl+Enter吧,你的鼠标的寿命可以延长20%喽!好了,让我们进入下一课——超炫的鼠标跟踪!
|
摘自《你的网》 孤独过客/文
|
|