Flash 5 里 symbol 的 behaviors movieClip 被置于最优先的位置,这是有道理的。原来是 graphic, button, movieclip, 现在是 movieClip, button, graphic.事实上,以后的版本很可能就没有 button 和 graphic 了,因为movieClip可以代替他们而且做得更好。
有关 symbols 有几个误区,也许大家都注意到了,如果你是新手,你要留意了
1.graphic symbol 适用与静止的对象,movieCilp 是针对动画的对象。
这个观念是错误的,事实上,每一个 symbol 都有自己的时间线,无论 graphic, button 还是 movieClip.graphic symbol 也可以是 animated 的对象。movieClip 也可以是静止不动的对象。关键在于graphic symbol 的时间线依赖于 movie 的主时间线。你如果建立一个15个frames的tweening 的graphic symbol,然后将它的一个instance放置在舞台上,如果只占据一个frame, 那是不会动的,如果把它延伸到15个frames,你看graphic symbol不久动起来了吗。请注意,你不需要ctrl + Enter,在Flash的环境下你就可以看到动画了。
just hit the Enter key.
2.graphic symbol 对 movie 的文件尺寸贡献相对 movieClip 小一些。
这个观念还是错误的,事实上正好相反,如果是同样的素材,movieClip 所贡献的size 要小于graphic symbol,所以如果可能的话,每一次 F8, 都选 movieClip,不会有错的。记住movieClip 可以做得更好。你如果要测试我的话,很简单,画一条线, F8,convert to symbol,选择movieClip,然后用这个MC的 instances 组合成一个shape,再把这个shape转化成 movieClip , 然后放置几个shapes在舞台上,export movie. 同样的过程再重复一遍,这次都选择graphic symbol,然后export movie, 比较一下, 那个文件大?
原因就在于graphic symbol支持在flash的主时间线上预览,而movieClip的时间线独立于主时间线。
3. symbol和instance的关系
symbol 是 master copy, 好比说是父亲,instances 是舞台上的精灵(允许我这么描述),好比是儿子,儿子像父亲,但不是父亲,所以有继承性,也有独特性。这个特性不仅适用于visual的属性,例如颜色,ALPHA, 大小等。也适用于 instance 本身的behavior.也许这么说你有些糊涂,比方说,你建立了一个 graphic symbol,drag it to the stage.这时候你如果点选这个 instance, 在 instance panel 里你会发现显示为 graphic behavior.你可以改变它为 button,或者 movieClip,这只对当前所选的instance 有效,不会影响到 library 里的 symbol 本身,也不会影响到其他的由同一个symbol 产生的 instances.
另外一点要注意的是,你也可以在 Library 里直接修改 symbol 的属性, 那将会影响到所有在修改后再放置到舞台上的相关的 instances,但是对于那些你在修改 library里该 symbol 的属性前就已经放置在舞台上的相关的 instances,它们还是会保留原有的属性,除非你在 instance panel 窗口对它们也进行相应的修改。
这个特性非常体贴用户。