这个教程将向大家说明如何在FLASH表单中使用Check Boxes和Radio Button,以及Flash表单在与Cgi配合使用时的一点注意事项。Check Boxes和Radio Buttons除了可以用一些简单的Movie Clip来表示其ON和OFF两种变量状态外不需要再用到太多的变量了。在本教程中我会向大家举例说明这一点,了解了最基础的东西,你也就会知道,那些大型站点的Forms也无非是用这些小的、所谓简单的generic form element所构成,所以说,只要肯钻,一切都不难。
这个教程面向初中级闪客,同时也起到抛砖引玉的作用,希望FLASH网络应用更高深的闪客向大家介绍心得技巧,以求共同进步。
OK!进阶开始:
总体概括:
Check Boxes和Radio Buttons是许多Forms的基本组成元素,用HTML语言则能很方便的处理他们。但是在FLASH中则有很多的闪客感到有一点点迷惑,并且要学会主题中的应用,还需要对Flash中的“设置参数(Set Variable)” 有一定的了解。
在下面的教程中,你将会接触到以下几方面的内容:
1:变量的设置及路径问题。
2:简单单一(这里的单一是场景中每一个Checkbox都由一个元件组成,有几个Checkbox就有几个元件)的Checkboxes。
3:多个复合(这里的复合是场景中多个Checkboxes是仅由一个元件拖拽到场景中复合而成)的Checkboxes。
4:Radio Button的制作及效果。
5:Cgi文件上传应注意的几点。
教程详解:
1:变量的设置及路径问题。
教程中你会遇到各种各样的路径,这是在学习Flash期间对设置参数这一关通晓的必要条件。我在这里简单说明一下:场景中的变量和MC元件中的变量的设置不同,例如:一个变量名称为box,那么它指的是当前元件位置里的变量box;如果变量名称为../:box,指的是场景中的变量box;如果变量名称为/check/:box,那么它指的是场景中Instance name为check的目标影片中的box变量(注:在本例中大家看到的变量“..:cBox_”& numBox,意思是场景中的Text Field的属性名称,例如:numBox=1,则“box”=“..:cBox_”& numBox这个式子的意思是把场景中Text Field的属性名称为cBox_1赋给变量box) 。
有关路径的详细问题可以使用闪客帝国论坛的搜索功能,会有更详细的说明。
大家可能会觉得为什么感觉上单一简单的Checkboxes和多个复合的Checkboxes一样呢?那么看过了程序后就自然知晓它们的区别了。
关键程序:
单个Checkboxes用到的关键程序是:
如果 (initialized = 0) /*初始化*/
设定参数: "initialized" = 1
设定参数: "name" = "Option1" /*变量name值是字符串Option1*/
设定参数: "box" = "..:"&name /*变量box的名称就是"..:"&name的名称,在这里是Option1,我的原文件没有设置Text Field,有兴趣的闪客可以 试试在场景中加入一个Text Field,名称设为Option1,看看变化如何。*/
设定参数: box = "off" /*变量box的值是字符串off,假如场景中有上面那个Text Field,那么影片播放时的值就是off!*/
退出如果
停止
多个复合的Checkboxes用到的关键程序是:
如果 (initialized = 0)
设定参数: "initialized" = 1
设定参数: "numBox" = ../:numBox /*把场景中的变量的值赋给numBox,当你拖拽第一个Checkbox到场景中去时这个语句不起作用,从第二次拖拽起返值*/
设定参数: "..:numBox" = numBox + 1
设定参数: "numBox" = numBox + 1
设定参数: "box" = "..:cBox_" & numBox /*用box来代表第一个属性名称为“cBox_1”的属性名称,第二次拖拽后,由于numBox变为2,则是代表第二个Text Field的名称。*/
设定参数: box = "off" /*变量box的值为off*/
退出如果
停止
其他程序比较简单,同志们可以看看原文件。
关键程序:
于 (放开)
跳至下一个影格
设定参数: "..:Radio1" = "on"
开始告知目标 ("/Radio2") /*在把第一个radio Button打开的同时也屏蔽第二个Radio Button。*/
跳至并停止 (1)
退出告知目标
设定参数: "..:Radio2" = "off"
退出于
注意:在原文件中有一个只设置了Hit影格的不可见Button,它的用途主要是用来改变Checkbox和RadioButton的变量值,以便让cgi程序知道哪个被选中,哪个没被选中(因为cgi文件处理forms的checkbox和radiobbutton时,一般有两个值on和off,这也正是变量box的值)。
4:cgi文件上传时应注意的事项。
再应用Cgi文件时,会出现许许多多的问题,这里不可能一一说明,只是把最最常见的一点告诉大家,就是在Cgi文件中要把你放置在服务器上的Flash文件路径设置对,才能起到交互作用。例如:Swf文件在一个名叫test的html型的页面上,这个页面在服务器的testone文件夹下,那么你的Cgi文件中BaseDir=“../xxx/xxxx/testone/”才是正确的绝对路径。通常提供cgi支持的站点会说明这一点,大家一定要记住了,否则,什么都好了,就是路径不对,Flash无法与cgi进行交互,可是要前功尽弃的呦!