文档库 最新最全的文档下载
当前位置:文档库 › 在powerpoint中插入SWF动画的ShockwaveFlash控件详解

在powerpoint中插入SWF动画的ShockwaveFlash控件详解

在powerpoint中插入SWF动画的ShockwaveFlash控件详解


一、属性方面

AlignMode (读写)

语法:AlignMode As Long

说明:对齐方式,与 SAlign 属性联动。当控件的 长宽比例与影片不一致且 WMode 不为 ExactFit 时,影片 (没有被放大的)在控件中显示的位置可用该属性调整。 该属性值由标志位组成。如图,将该属性值(二进制)中相 应的位标记为 1 就设置了相应的对齐方向。 属性值与相应的对齐方式。后面括号里是二进制数。

1:左对齐(0001)

2:右对齐(0010)

4:顶对齐(0100)

8:底对齐(1000)

也可以组合各种对齐方式,同时将两个或以上的位标记为 1,也就是将这四个基本值组合相加。比如同时左对齐 和顶对齐,属性值则设为 5(0101)。

例子 : 设置影片为右对齐:

movie.AlignMode = 2

--------------------------------------------------------

SAlign (读写)

语法:SAlign As String

说明:对齐模式(与 AlignMode 联动)。当 AlignMode

代表各对齐模式的位被置“1”时,SAlign 值也相应被设为

“L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各 字符的组合。‘L’、‘T’、‘R’、‘B’的先后顺序不变。

例子:设置影片为左对齐和顶对齐:

movie.SAlign = "LT"

====================== 黄金分割线 0.618 ====================

BackgroundColor(读写)

语法:BackgroundColor As Long

说明:影片的背景色(与 BGColor 联动)。以(红 × 65536 +绿× 256 +蓝)计算颜色值。红绿蓝颜色取 值范围(0-255)。默认的影片背景色为 -1 。如果影片 设置了底色或有图片当作背景,那么看不出来该属性值的 改变会有什么影响。

例子:将影片背景色设为蓝色 :

movie.BackgroundColor = 255

--------------------------------------------------------

BGColor (读写)

语法:BGColor As String

说明:影片的背景色(与 BackgroundColor 联动)。与 BackgroundColor 不同的是,BGColor 是一个六位的十六进制数,每两位分别代表红绿蓝颜色值。如:FFEEAA 表示 红色值为 FF、绿色值为 EE 、蓝色值为 AA 。

例子:将影片背景色设为红色:

movie.BGColor = "FF0000"

====================== 黄金分割线 0.618 ====================

Base (读写)

语法:Base As String

说明:指定用于解决影片中所有相对路径的声明的基地址。当影片与其需要的其他文件不在同一目录中的时候该 属性特别有用。如不特别指定,Base 的值默认为 ".",也就 是当前影片所在的路径。

例子 :

movie.Base = "https://www.wendangku.net/doc/8613425100.html,/pathname1/pathname2"

====================== 黄金分割线 0.618 ====================

Movie (读写)

语法:Movie As String

说明:要播放的影片路径(URL

)。设置该属性为 一个 SWF 文件的 URL 将载入文件并播放它。若影片是在本地硬盘上,要写成从盘符开始的绝对路径;若影片是在某网站上,也要写全 URL 地址。

例子 :

movie.Movie = "https://www.wendangku.net/doc/8613425100.html,/path1/path2/filename.swf"



movie.Movie = "c:\temp\test.swf"

====================== 黄金分割线 0.618 ====================

DeviceFont (读写)

语法:DeviceFont As Boolean

说明 : 决定是否使用影片内嵌的字体, 默认值为 False。将该属性值设为 True 则强制播放器不使用影片中的内嵌的字体而使用本地系统字体。

例子:

movie.DeviceFont = True

====================== 黄金分割线 0.618 ====================

EmbedMovie (读写)

语法:EmbedMovie As Boolean

说明:影片是否被存贮到控件所在的容器中。当你已载入一个影片后将该属性设为 True,播放影片时就不必再去读 SWF 文件了。这使得在 PowerPoint 简报或 VB 程序 里使用 Flash 影片更容易。但将该属性设为 True 后,控件的 Movie 属性就不再接受新的值了。要想播放另一个影片(给 Movie 属性赋新值),必须先将 EmbedMovie 属 性设为 False 。

例子 :

movie.EmbedMovie = True

====================== 黄金分割线 0.618 ====================

FrameNum (读写)

语法:FrameNum As Long

说明:影片当前帧的编号 (从 0 开始计数)。设置 该属性值将使影片停在由 FrameNum 指定的帧处。

例子 : 显示当前帧数:

MsgBox " 当前显示的是第 " & movie.FrameNum & " 帧。"

使影片显示第 10 帧:

Bomovie.FrameNum = 9

====================== 黄金分割线 0.618 ====================

TotalFrames(只读)

语法:TotalFrames As Long

说明:返回影片中总帧数。该参数要到影片载入完成才有效(ReadyState=4)。

例子 :

If movie.ReadyState = 4 Then MsgBox " 本影片共有 " & movie.TotalFrames & " 帧。"

====================== 黄金分割线 0.618 ====================

Loop (读写)

语法:Loop As Boolean

说明:是否循环播放。设为 True 是循环播放,设为 False 则只播放一次。

例子 :

movie.Loop = True

====================== 黄金分割线 0.618 ====================

Menu (读写)

语法:Menu As Boolean

说明:是否显示菜单。设为 True 显示所有菜单,设为 False 菜单被屏蔽,但仍有一项“About Macromedia Flash Player...”。如果你实在不喜欢这个菜单,应该在程序中通过拦截鼠标消息的方法来达到目的。与在独立的 Flash 播放器中不同的是,在控件的右键菜单里点

“About...”的话,就会打开浏览器到 Macromedia 的网站上去 看 About 。

例子 :

movie.Menu = False

====================== 黄金分割线 0.618 ====================

Playing (只读)

语法

:Playing As Boolean

说明:当前播放状态。如果影片正在播放,该属性 值为 True ,否则为 False 。

例子 :

If movie.Playing = False Then MsgBox " 影片已停止播放!"

====================== 黄金分割线 0.618 ====================

Quality (读写)

语法:Quality As Long

说明:画面质量(与 Quality2 联动)。Quality 可以取:

0 ——相当于 Quality2 取 "Low"

1 ——相当于 Quality2 取 "High"

2 ——相当于 Quality2 取 "AutoLow"

3 ——相当于 Quality2 取 "AutoHigh"

例子 :

movie.Quality = 1

--------------------------------------------------------

Quality2(读写)

语法:Quality As String

说明:画面质量(与 Quality 联动)。Quality2 可以取:

Low:偏重于播放速度而不管显示效果,而且不启用

消锯齿功能 。

High:偏重于画面而不管播放速度,并且总是启用 消锯齿功能。如果影片中不包含动画就平滑处理位图;如 果有动画,那么位图就不被平滑处理。(这里的动画应该 是把一张图片做平移或旋转)

AutoLow:先着重于播放速度,但只要有可能就改 善显示效果。一开始播放时先禁用消锯齿功能。如果播放 器检测到处理器能承受得了 ,就启用消锯齿功能 。

AutoHigh:一开始是播放速度和显示效果并重,但 如有必要就牺牲画质确保速度。开始播放时就启用消锯齿 功能。但如果实际的帧速率比设计时指定的速率慢了,就 禁用消锯齿功能来提高播放速度。

例子 :

movie.Quality2 = "High"

====================== 黄金分割线 0.618 ====================

ReadyState(只读)

语法:ReadyState As Long

说明:影片的当前状态。ReadyState 可以取:

0 ——正在载入

1 ——未初始化

2 ——已载入

3 ——正在交互

4 ——完成 例子 :

If movie.ReadyState = 4 Then MsgBox " 影片载入完成!"

====================== 黄金分割线 0.618 ====================

Scale (读写)

语法:scale As String

说明:缩放模式(与 ScaleMode 联动)。Scale 可以 取:

ShowAll ——在控件内显示全部影片区域,保持影片 长宽比例不变,影片的大小决定于控件长或宽中较小的一 边 。

NoBorder ——在控件内显示部分影片区域,保持影片 长宽比例不变,影片的大小决定于控件长或宽中较大的一 边 。

ExactFit ——在控件内显示全部影片区域,将影片的长 宽比例强制等于控件的长宽比例。

例子 :

MsgBox " 当前的缩放模式是:" & movie.Scale

--------------------------------------------------------

17.ScaleMode(读写)

语法:ScaleMode As Long

说明:缩放模式(与 Scale 联动)。ScaleMode 可以取:

0 ——相当于 Scale 取 "ShowAll"

1 ——相当于 Scale 取 "NoBorder"

2 ——相当

于 Scale 取 "ExactFit"

例子:使影片的缩放模式改成“ExactFit ”:

movie.ScaleMode = 2

====================== 黄金分割线 0.618 ====================

Stacking (读写)

语法:Stacking As String

说明:用于 HTML,将 Flash Player 当成 HTML 中 的一种“行为”使用时,该属性决定 Flash 影片相对于与其 参照的 HTML 内容如何显示。(有关“行为”请参阅样式表 的资料)。Stacking 可以取:

none ——“行为”不显示。

replaceall ——“行为”的显示取代全部其他元素的内容,包括背景 。

content ——“行为”的显示只取代其他元素的内 容。

background ——“行为”的显示只取代其他元素的背景 。

below ——“行为”在所有其他元素内容的下面显示。

belowflow ——“行为”以反向 Z 顺序显示在其他元素 的子对象之上,但在该元素主要内容之上。

aboveflow ——“行为”以正向 Z 顺序显示在其他元素 的子对象之下,但在该元素主要内容之上。

above ——“行为”显示在所有其他元素的内容之上。

top ——“行为”的显示置于整个页面内容之上。

例子 :

movie.Stacking = "below"

====================== 黄金分割线 0.618 ====================

20.WMode (读写)

语法:WMode As String

说明:控件的窗口模式。WMode 可以取: Window —— WMode 属性的默认值,按 Flash 播放器

典型的方式工作,即在控件的矩形窗口中播放影片,这样一 般都能提供最快的动画效果。

Opaque ——使影片不透明。 Transparent ——创建一个透明的影片。如果影片中有

透明的片段,放到这里时,就可以看到控件下面的背景。但 使用此属性值,动画的播放速度可能会慢一些。

例子 :

movie.WMode = "Transparent"

写到这里 累残我了======

======================================== 白金分割线 0.618 ========================================

二、控件方法

下面中的方法不返回值:

Back

语法:Back()

说明 : 影片后退一帧 , 并且停止播放 。 例子 :

movie.Back

====================== 黄金分割线 0.618 ====================

Forward

语法:Forward()

说明 : 影片前进一帧, 并且停止播放。

例子 :

movie.Forward

====================== 黄金分割线 0.618 ====================

GotoFrame

语法:GotoFrame(FrameNum As Long)

说明:将影片跳转到由 FrameNum 指定的帧,并且停止播放。如果所指定的帧还未载入,播放器前进到最后的可用帧并停下,在调用过程中会产生无法预料的后果。最好使用 PercentLoaded 方法来确定是否已载入足够的影片来执行本方法。参数 FrameNum 是从 0 开始的,这和 Flash 中的 Goto 动作不一样,它是从 1 开始的。

例子:跳转到影片

的第 20 帧:

movie.GotoFrame 20

====================== 黄金分割线 0.618 ====================

LoadMovie

语法:LoadMovie(layer As Long, url As String)

说明:将由 url 指定的影片载入到由 layer 指定的层上。

例子:将 movie.swf 载入至 0 层:

movie.LoadMovie 0, "movie.swf"

====================== 黄金分割线 0.618 ====================

Pan

语法:Pan(x As Long, y As Long, mode As Long)

说明:将一个放大过的影片平移由 x 和 y 指定的距离。 x 和 y 均为相对值。即控件相对于影片来说平移的距离(你 可以想象控件是一个窗户,影片是我们从窗户里看到的放 在外面的布景, 我们看到窗户相对于布景平移了一些距离, 那是外面的布景在动,而窗户是不动的)。用 mode 参数 来指定 x 和 y 的值是像素还是窗口的百分比,当 mode=0 时 坐标系以像素为单位;mode=1 时坐标系就以窗口的百分 比来计算。 平移并不能超出影片的边框,也就是说,往 一个方向平移最多到达影片的边缘与控件对齐的程度。

例子:控件相对于影片向左向上各平移 5 个像素(当 然控件不会动 ,是影片向右向下平移了 ):

movie.Pan 5,5,0

====================== 黄金分割线 0.618 ====================

Play

语法:Play()

说明:开始播放影片。

例子:

movie.Play

====================== 黄金分割线 0.618 ====================

Rewind

语法:Rewind()

说明:倒带。返回到影片的第一帧。

例子:

movie.Rewind

====================== 黄金分割线 0.618 ====================

SetVariable

语法:SetVariable(name As String, value As String)

说明:将由 name 指定的 Flash 变量值设为 value。

例子:

movie.SetVariable "/Form:UserName", "John Smith"

======================================== 白金分割线 0.618 ========================================

三、事件方面

FSCommand

语法:ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)

说明:在flash中调用fscommand()触发的事件

参数:

command :代表命令标识

args :代表参数

例子:

Select Case command '这里可以用 if

'但command多了之后就不好 if 用了

'我是做个示范

Case "command1"



If args = "123" Then



...



Else



...



End If



Case ...



End Select

====================== 黄金分割线 0.618 ====================

FlashCall

语法:ShockwaveFlash1_FlashCall(ByVal request As String)

说明:可能很少人知道这个事件的用处,其实这个跟 FSCommand 事件是差不多的。与 FSCommand 不同的是,这个事件可以有返回值(下面

会谈到)

参数是一个XML格式的字符串,格式是

"%s",去查查帮助就知道了。

处理request:标准VB没有处理XML的库,你可以自己找支持XML的插件来用。下面就是按照个人需要处理request了。

返回值:

事件处理函数是没有返回值的,但是flash player提供了一个方法:ShockwaveFlash1.SetReturnValue() 专门传递返回值,格式是%s(也可以是别的AS结构,具体看帮助)。

例子:我在这给出tinyxml的例子:

Private Sub ShockwaveFlash1_FlashCall(ByVal request As String)

Dim request_xml As New TiXmlDocument

Dim request_name As String

request_xml.Parse request

request_name = request_xml.RootElement().Attribute("name")

...自己去处理吧

End Sub

====================== 黄金分割线 0.618 ====================

OnProgress

语法:ShockwaveFlash1_OnProgress(ByVal percentDone As Long)

说明:估计是flash在加载过程中进度改变触发的吧?

percentDone 则应该是个百分数~

反正我还没逮住这个事件一次..= =!

====================== 黄金分割线 0.618 ====================

OnReadyStateChange

语法:ShockwaveFlash1_OnReadyStateChange(newState As Long)

说明:顾名思义,就是 ReadyState 改变时触发的事件,具体请看上面关于 ReadyState 属性的说明


相关文档