课程名称 : 变数说明 -------------------------------------------------------------------------------- 变数说明 变数是Flash 用来暂存资料的地方,只要在动画中设定变数名称与内容,那这个变数就自动产生出来了,Flash 的变数并不 事前宣告,就像BASIC语言一样·只要使用者关闭动画,变数的内容就会不见·
--------------------------------------------------------------------------------
1. 编辑方式: 在变数中您可以储存一段字串 ("red meat") 或一个数值 ("19.95"),甚至是一段字串与数字 ("red meat costs 19.95")。设定变数的方法如下:
Flash 4〃双点影格 (Frame),在属性 (properties) 视窗中选择Actions,单点 选择Set Variable;完成後,可以看到面板右方有参数栏,分别是Variable (名称)及Value (内容)。
Flash 5〃选择某格影格 (Frame) ,再开启Actions 面板,单点 选择 Action > set variable;完成後,可以看到面板下方有参数栏,分别是Variable (名称)及Value (内容)。
2. 设定变数内容: 在参数栏中,将变数的名称键入到Variable 栏中,而在Value 栏中您必须键入此变数所代表的字串或数值·假设你要将你的名字放到 "name" 的变数中,请参考下图:
现在,变数 "name" = "Your Name",这样就设好了一个变数了,想要改变一项变数,只要重复以上几个步骤,并键入另一个新的数值,就会把原先的内容覆盖上去。想要删去一项变数,步骤也完全相同,只是要将Value 栏空白。  3. 运算式: 当您将模式按钮设置为Expression (运算式) 时,Flash 就会知道您在栏位中键入的「文字」是变数名称,并且去使用变数所代表的数值;假设我们有一个变数,名称是balls,而且 balls 的数值是20;如果要把 balls 的值增加30的话,那就必须这样:
Set Variable "balls" = balls + 30
这里要注意 balls 必须在 "" 里面,但是 balls + 30 却不用,这是因为 balls 是字串 (string) 而 balls + 30 是运算式 (expression)·
4. 栏位变数: 如果您想看到运算过後的结果,现在告诉你如何将变数值显示出来·
Flash 4〃首先用文字工具划出一个文字区,按下工具列的 ,原本在右上的方块是不是跑到右下角了,现在它已经是一个栏位了,在上面按下滑鼠右键并选择 Properties..., 在Properties 的对话盒中,您会看到一个名为Variable 的栏位,这个就是此栏位的变数名了;如果我们将它命名为 text01,那不论什堋时候我们改变了这个变数的数值,在栏位中的数值也会随之改变。 Flash 5〃 首先用文字工具划出一个文字区,开启 Text Options 面板,在第一个栏位选择 Dynamic Text,在Variable 的栏位键入 text01,那此一栏位的变数名就是 text01了,同样地,当我们改变了这个变数的数值时,在栏位中的数值也会随之改变。  5. 显示变数: 现在双点 Frame(影格),新增指令Set Variable,参数如下:
Set Variable "text01" = name & " has gathered " & balls & " balls."
如果您在运算式模式下把文字放在 "" (双引号)以内,Flash会把它当成字串去读取;另外,您可以看到在这里使用 & 将全部的东西串连起来,如果用 + 来代替,Flash就会试著将它们相加起来,而这并不是我们想要的结果,所以如果要将资料在运算式模式下放在一起,您就必须使用 &。
Test Movie 时,可以看到文字区显示的是 Your Name has gathered 50 balls.,如何,是不是显示出你所设定的变数值了·
6. 区域变数: 这里有一件重要的事 要记住,您的 Movie Clip (影片成员) 有独立的变数。这意味著您在主电影中所设的变数不会影响到您 Clip 里的变数,相同的,您在 Clip 中所设的变数也不会影响到主电影或是其他 Clip 的变数,甚至用同样的的名称也不会有影响。
当然,你还是有办法去控制影片(Movie Clip)里所设的变动· 只要将影片的路径及名称放在变数名称之前就没问题了· 假设我们有一个叫做 mov01 的影片成员,在成员内设了一个变数 "age" = "5",如果要从主电影 (Main Movie) 将变数 age 设为20,那就像是设定物件 (Set Property)一样,必须先设定成员的路径。因为我们现在的位置在主要电影,所以路径及名称就会是 /mov01。我们使用 : 让它们放在一起,像这样: Set Variable "/mov01:age = "20"  从一个 Clip 到另一个 Clip 的情形也是一样,例如说,如果我们想要从 mov01去设定 mov02 的变数 age 时 ,可以这样做:
Set Variable "../mov02:age" = age 这个步骤会在同一电影中把 "age" (mov01 设定的变数) 从mov01复制到mov02。你或许注意到,这次我们在到 mov02 的路径前加入了 .. · .. 会告诉 Flash 回上一阶层(到 Main Movie),然後再进入 mov02 (如上图蓝线所示); 而如果少了 .. ,Flash就会往下层寻找 (如上图红线所示)。
7. 变数命名原则:
变数名称须以英文字母开头· 变数名称中间不能有空格· 使用有意义的名称,别用A01, D_002等暧昧不明的名称· 变数名称里不能用 _ (底线) 以外的浮号· 变数名称没有大小写之分,所以BALLS与balls被视为同一变数·
这样子,有没有比较了解变数了,如果有那里说的不清楚,你可以e-mail问我,或是在讨论区提出问题· |