以下 ActionScript 代码通常适用于所有控件。某些控件具有定义附加行为的特定 ActionScript,在这些控件对应的节中将对此加以说明。
初始 ActionScript 是很大的一部分,它指定每个组件每种状态的类名称。可以在 SkinOverAll.fla 文件中看到所有这些类名称。其代码与 Pause 和 Play 按钮的代码相似,例如:
this.pauseButtonDisabledState = "fl.video.skin.PauseButtonDisabled";
this.pauseButtonDownState = "fl.video.skin.PauseButtonDown";
this.pauseButtonNormalState = "fl.video.skin.PauseButtonNormal";
this.pauseButtonOverState = "fl.video.skin.PauseButtonOver";
this.playButtonDisabledState = "fl.video.skin.PlayButtonDisabled";
this.playButtonDownState = "fl.video.skin.PlayButtonDown";
this.playButtonNormalState = "fl.video.skin.PlayButtonNormal";
this.playButtonOverState = "fl.video.skin.PlayButtonOver";
实际上,这些类名称并不具有外部类文件;只是在“链接”对话框中为库中的所有影片剪辑指定了它们。
在 ActionScript 2.0 组件中,在运行时确实使用了舞台上的一些影片剪辑。在 ActionScript 3.0 组件中,这些影片剪辑仍在 FLA 文件中,但只是为了便于编辑。现在,它们全部在引导图层中并且不可导出。例如,库中的所有外观资源均设置为在第一帧导出,并且它们是使用如下代码动态创建的:
new fl.video.skin.PauseButtonDisabled();
该部分之后的 ActionScript 代码用于定义外观的最小宽度和高度。“选择外观”对话框显示这些值,并且这些值在运行时使用,以防止外观缩放到小于其最小大小。如果您不想指定最小大小,则将其保留为未定义或者小于或等于零。
// minimum width and height of video recommended to use this skin,
// leave as undefined or <= 0 if there is no minimum
this.minWidth = 270;
this.minHeight = 60;
每个占位符都可以具有适用于它的以下属性:
属性
|
说明
|
anchorLeft
|
布尔值。控件相对于 FLVPlayback 实例左侧的位置。默认为
true
;但是,如果
anchorRight
被显式设置为
true
),则它默认为
false
。
|
anchorRight
|
布尔值。控件相对于 FLVPlayback 实例的右侧的位置。默认值为
false
。
|
anchorBottom
|
布尔值。控件相对于 FLVPlayback 实例底部的位置。默认值为
true
(除非
anchorTop
被显式设置为
true
),然后它默认为
false
。
|
anchorTop
|
布尔值。控件相对于 FLVPlayback 实例顶部的位置。默认值为
false
。
|
如果
anchorLeft
和
anchorRight
属性均为
true
,则在运行时水平缩放该控件。如果
anchorTop
和
anchorBottom
属性均为
true
,则在运行时垂直缩放该控件。
若要看到这些属性的效果,请查看它们在 Flash 外观中的使用方式。BufferingBar 和 SeekBar 控件是可以缩放的唯一控件,它们彼此层叠放置,并且都将
anchorLeft
和
anchorRight
属性设置为
true
。BufferingBar 和 SeekBar 左侧的所有控件都将
anchorLeft
设置为
true
,而其右侧的所有控件都将
anchorRight
设置为
true
。所有控件都将
anchorBottom
设置为
true
。
您可以尝试编辑布局图层上的影片剪辑,以生成控件位于其顶部(而不是底部)的外观。您只需要将控件移到顶部(相对于
video_mc
),并且对于所有控件将
anchorTop
设置为等于
true
。