为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ShockwaveFlash控件详解

2019-05-11 17页 doc 37KB 51阅读

用户头像

is_079973

暂无简介

举报
ShockwaveFlash控件详解ShockwaveFlash控件详解(一)---属性 属性: 1.AlignMode (读写) 语法:AlignMode As Long 说明:对齐方式,与SAlign 属性联动。当控件的长宽比例与影片不一致且WMode 不为ExactFit 时,影片(没有被放大的)在控件中显示的位置可用该属性调整。该属性值由标志位组成。如图,将该属性值(二进制)中相应的位标记为1 就设置了相应的对齐方向。属性值与相应的对齐方式。后面括号里是二进制数。 1:左对齐(0001) 2:右对齐(0010) 4:顶对齐(0100) ...
ShockwaveFlash控件详解
ShockwaveFlash控件详解(一)---属性 属性: 1.AlignMode (读写) 语法:AlignMode As Long 说明:对齐方式,与SAlign 属性联动。当控件的长宽比例与影片不一致且WMode 不为ExactFit 时,影片(没有被放大的)在控件中显示的位置可用该属性调整。该属性值由标志位组成。如图,将该属性值(二进制)中相应的位标记为1 就设置了相应的对齐方向。属性值与相应的对齐方式。后面括号里是二进制数。 1:左对齐(0001) 2:右对齐(0010) 4:顶对齐(0100) 8:底对齐(1000) 也可以组合各种对齐方式,同时将两个或以上的位标记为1,也就是将这四个基本值组合相加。比如同时左对齐和顶对齐,属性值则设为5(0101)。 例子:设置影片为右对齐: movie.AlignMode = 2 2.SAlign (读写) 语法:SAlign As String 说明:对齐模式(与AlignMode 联动)。当AlignMode 代各对齐模式的位被置“1”时,SAlign 值也相应被设为 “L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各字符的组合。…L?、…T?、…R?、…B?的先后顺序不变。 例子:设置影片为左对齐和顶对齐: movie.SAlign = "LT" 3.BackgroundColor(读写) 语法:BackgroundColor As Long 说明:影片的背景色(与BGColor 联动)。以(红× 65536 +绿× 256 +蓝)计算颜色值。红绿蓝颜色取值范围(0-255)。默认的影片背景色为-1 。如果影片设置了底色或有图片当作背景,那么看不出来该属性值的改变会有什么影响。 例子:将影片背景色设为蓝色: movie.BackgroundColor = 255 4.BGColor (读写) 语法:BGColor As String 说明:影片的背景色(与BackgroundColor 联动)。与BackgroundColor 不同的是,BGColor 是一个六位的十六进制数,每两位分别代表红绿蓝颜色值。如:FFEEAA 表示红色值为FF、绿色值为EE 、蓝色值为AA 。 例子:将影片背景色设为红色: movie.BGColor = "FF0000" 5.Base (读写) 语法:Base As String 说明:指定用于解决影片中所有相对路径的声明的基地址。当影片与其需要的其他文件不在同一目录中的时候该属性特别有用。如不特别指定,Base 的值默认为".",也就是当前影片所在的路径。 例子: movie.Base = "" 6.Movie (读写) 语法:Movie As String 说明:要播放的影片路径(URL)。设置该属性为一个SWF 文件的URL 将载入文件并播放它。若影片是在本地硬盘上,要写成从盘符开始的绝对路径;若影片是在某网站上,也要写全URL 地址。 例子: movie.Movie = "" 或 movie.Movie = "c:\temp\test.swf" 7.DeviceFont (读写) 语法:DeviceFont As Boolean 说明:决定是否使用影片内嵌的字体,默认值为False。将该属性值设为True 则强制播放器不使用影片中的内嵌的字体而使用本地系统字体。 例子: movie.DeviceFont = True 8.EmbedMovie (读写) 语法:EmbedMovie As Boolean 说明:影片是否被存贮到控件所在的容器中。当你已载入一个影片后将该属性设为True,播放影片时就不必再去读SWF 文件了。这使得在PowerPoint 简报或VB 程序里使用Flash 影片更容易。但将该属性设为True 后,控件的Movie 属性就不再接受新的值了。要想播放另一个影片(给Movie 属性赋新值),必须先将EmbedMovie 属性设为False 。例子: movie.EmbedMovie = True 9.FrameNum (读写) 语法:FrameNum As Long 说明:影片当前帧的编号(从0 开始计数)。设置该属性值将使影片停在由FrameNum 指定的帧处。 例子:显示当前帧数: MsgBox " 当前显示的是第" & movie.FrameNum & " 帧。" 使影片显示第10 帧: Bomovie.FrameNum = 9 10.TotalFrames(只读) 语法:TotalFrames As Long 说明:返回影片中总帧数。该参数要到影片载入完成才有效(ReadyState=4)。 例子: If movie.ReadyState = 4 Then MsgBox " 本影片共有" & movie.TotalFrames & " 帧。" 11.Loop (读写) 语法:Loop As Boolean 说明:是否循环播放。设为True 是循环播放,设为False 则只播放一次。 例子: movie.Loop = True 12.Menu (读写) 语法:Menu As Boolean 说明:是否显示菜单。设为True 显示所有菜单,设为False 菜单被屏蔽,但仍有一项“About Macromedia Flash Player...”。如果你实在不喜欢这个菜单,应该在程序中通过拦截鼠标消息的来达到目的。与在独立的Flash 播放器中不同的是,在控件的右键菜单里点“About...”的话,就会打开浏览器到Macromedia 的网站上去看About 。 例子: movie.Menu = False 13.Playing (只读) 语法:Playing As Boolean 说明:当前播放状态。如果影片正在播放,该属性值为True ,否则为False 。 例子: If movie.Playing = False Then MsgBox " 影片已停止播放!" 14.Quality (读写) 语法:Quality As Long 说明:画面质量(与Quality2 联动)。Quality 可以取: 0 ——相当于Quality2 取"Low" 1 ——相当于Quality 2 取"High" 2 ——相当于Quality2 取"AutoLow" 3 ——相当于Quality2 取"AutoHigh" 例子: movie.Quality = 1 15.Quality2(读写) 语法:Quality As String 说明:画面质量(与Quality 联动)。Quality2 可以取: Low:偏重于播放速度而不管显示效果,而且不启用 消锯齿功能。 High:偏重于画面而不管播放速度,并且总是启用消锯齿功能。如果影片中不包含动画就平滑处理位图;如果有动画,那么位图就不被平滑处理。(这里的动画应该是把一张图片做平移或旋转) AutoLow:先着重于播放速度,但只要有可能就改善显示效果。一开始播放时先禁用消锯齿功能。如果播放器检测到处理器能承受得了,就启用消锯齿功能。 AutoHigh:一开始是播放速度和显示效果并重,但如有必要就牺牲画质确保速度。开始播放时就启用消锯齿功能。但如果实际的帧速率比设计时指定的速率慢了,就禁用消锯齿功能来提高播放速度。 例子: movie.Quality2 = "High" 16.ReadyState(只读) 语法:ReadyState As Long 说明:影片的当前状态。ReadyState 可以取: 0 ——正在载入 1 ——未初始化 2 ——已载入 3 ——正在交互 4 ——完成例子: If movie.ReadyState = 4 Then MsgBox " 影片载入完成!" 17.Scale (读写) 语法:scale As String 说明:缩放模式(与ScaleMode 联动)。Scale 可以取: ShowAll ——在控件内显示全部影片区域,保持影片长宽比例不变,影片的大小决定于控件长或宽中较小的一边。 NoBorder ——在控件内显示部分影片区域,保持影片长宽比例不变,影片的大小决定于控件长或宽中较大的一边。 ExactFit ——在控件内显示全部影片区域,将影片的长宽比例强制等于控件的长宽比例。例子: MsgBox " 当前的缩放模式是:" & movie.Scale 18.ScaleMode(读写) 语法:ScaleMode As Long 说明:缩放模式(与Scale 联动)。ScaleMode 可以取: 0 ——相当于Scale 取"ShowAll" 1 ——相当于Scale 取"NoBorder" 2 ——相当于Scale 取"ExactFit" 例子:使影片的缩放模式改成“ExactFit ”: movie.ScaleMode = 2 19.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" 20.WMode (读写) 语法:WMode As String 说明:控件的窗口模式。WMode 可以取:Window —— WMode 属性的默认值,按Flash 播放器 典型的方式工作,即在控件的矩形窗口中播放影片,这样一般都能提供最快的动画效果。Opaque ——使影片不透明。Transparent ——创建一个透明的影片。如果影片中有 透明的片段,放到这里时,就可以看到控件下面的背景。但使用此属性值,动画的播放速度可能会慢一些。 例子: movie.WMode = "Transparent" ShockwaveFlash控件详解(二)---方法与事件(转) 方法: 下面中的方法不返回值: 1.Back 语法:Back() 说明:影片后退一帧,并且停止播放。例子: movie.Back 2.Forward 语法:Forward() 说明:影片前进一帧,并且停止播放。 例子: movie.Forward 3.GotoFrame 语法:GotoFrame(FrameNum As Long) 说明:将影片跳转到由FrameNum 指定的帧,并且停止播放。如果所指定的帧还未载入,播放器前进到最后的可用帧并停下,在调用过程中会产生无法预料的后果。最好使用PercentLoaded 方法来确定是否已载入足够的影片来执行本方法。参数FrameNum 是从0 开始的,这和Flash 中的Goto 动作不一样,它是从1 开始的。 例子:跳转到影片的第20 帧: movie.GotoFrame 20 4.LoadMovie 语法:LoadMovie(layer As Long, url As String) 说明:将由url 指定的影片载入到由layer 指定的层上。 例子:将movie.swf 载入至0 层: movie.LoadMovie 0, "movie.swf" 5.Pan 语法:Pan(x As Long, y As Long, mode As Long) 说明:将一个放大过的影片平移由x 和y 指定的距离。x 和y 均为相对值。即控件相对于影片来说平移的距离(你可以想象控件是一个窗户,影片是我们从窗户里看到的放在外面的布景, 我们看到窗户相对于布景平移了一些距离,那是外面的布景在动,而窗户是不动的)。用mode 参数来指定x 和y 的值是像素还是窗口的百分比,当mode=0 时坐标系以像素为单位;mode=1 时坐标系就以窗口的百分比来计算。平移并不能超出影片的边框,也就是说,往一个方向平移最多到达影片的边缘与控件对齐的程度。 例子:控件相对于影片向左向上各平移 5 个像素(当然控件不会动,是影片向右向下平移了): 6.Play 语法:Play() 说明:开始播放影片。 例子: movie.Play 7.Rewind 语法:Rewind() 说明:倒带。返回到影片的第一帧。 例子: movie.Rewind 8.SetVariable 语法:SetVariable(name As String, value As String) 说明:将由name 指定的Flash 变量值设为value。 例子: movie.SetVariable "/Form:UserName", "John Smith" --------------------------------------------------------------------------- 事件: 1.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 2.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 3.OnProgress 语法:ShockwaveFlash1_OnProgress(ByVal percentDone As Long) 说明:估计是flash在加载过程中进度改变触发的吧? percentDone 则应该是个百分数~ 反正我还没逮住这个事件一次..= =! 4.OnReadyStateChange 语法:ShockwaveFlash1_OnReadyStateChange(newState As Long) 说明:顾名思义,就是ReadyState 改变时触发的事件,具体请看上面关于ReadyState 属性的说明,我在这就不废话了.... 至于其他事件,比如 GotFocus啦、LostFocus啦,我也不想废话了... PS:shockwave flash object控件的相应类是CShockwaveFlash类,该类的常用函数: Play() 播放动画StopPlay() 停止动画IsPlaying():动画是否正在播放(true,false) GotoFrame(frame_number)跳转到某帧(frame_number+1) TotalFrames() 获取动画总帧数CurrentFrame()回传当前动画所在帧数-1 Rewind() 使动画返回第一帧SetZoomRect(left,top,right,buttom)放大指定区域 Zoom(percent) 改变动画大小Pan(x_position,y_position,unit) 使动画在x,y方向上平移 PercentLoaded()返回动画被载入的百分比(0-100) LoadMovie(level_number,path) 加载动画 TGotoFrame(movie_clip,frame_number) movie_clip跳转到指定帧数 TGotoLabel(muvie_clip,label_name) movie_clip跳转到指定标签 TCurrentFrame(movie_clip) 回传movie_clip当前帧-1 TCurrentLabel(movie_clip) 回传movie_clip当前标签 TPlay(movie_clip) 播放movie_clip TStopPlay(movie_clip) 停止movie_clip的播放GetVariable(variable_name) 获取变量SetVariable(variable_name,value) 变量赋值TCallFrame(movie_clip,frame_number) call指定帧上的action TCallLabel(movie_clip,label) call指定标签上的action TGetProperty(movie_clip,property) 获取movie_clip的指定属性 TSetProperty(movie_clip,property,number) 设置movie_clip的指定属性
/
本文档为【ShockwaveFlash控件详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索