Flash基础入门:Winform(C#)Flash控件 属性 方法 事件
Vivian 2018-05-30 来源 : 阅读 1118 评论 0

摘要:本文主要向大家介绍了Flash基础入门的Winform(C#)Flash控件、属性、方法、事件希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门的Winform(C#)Flash控件、属性、方法、事件希望对大家学习Flash基础入门有所帮助。

属性:

1.AlignMode (读写)

语法:AlignModeAs Long

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

属性值与相应的对齐方式(后面括号里是二进制数)

1:左对齐(0001)  2:右对齐(0010)  

4:顶对齐(0100)  8:底对齐(1000)

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

例子 :设置影片为右对齐 :movie.AlignMode = 2

 

2.BackgroundColor(读写)

语法:BackgroundColorAs Long

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

 

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

movie.BackgroundColor = 255

 

3.Base (读写)

语法:Base AsString

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

例子 :

movie.Base ="Http://www.domain.com/pathname1/pathname2"

 

4.BGColor (读写)

语法:BGColor AsString

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

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

movie.BGColor = "FF0000"

 

5.DeviceFont (读写)

语法:DeviceFontAs Boolean

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

例子:movie.DeviceFont= True

 

6.EmbedMovie (读写)

语法:EmbedMovieAs Boolean

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

例子 :movie.EmbedMovie = True

 

7.FrameNum (读写)

语法:FrameNum AsLong

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

例子 :显示当前帧数 : MsgBox " 当前显示的是第 " & movie.FrameNum & " 帧。"

使影片显示第 10 帧: Bomovie.FrameNum = 9

 

8.Loop (读写)

语法:Loop AsBoolean

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

例子 :movie.Loop = True

 

9.Menu (读写)

语法:Menu AsBoolean

说明:是否显示菜单。设为True 显示所有菜单,设 为 False 菜单被屏蔽,但仍有一项“About Macromedia FlashPlayer...”。如果你实在不喜欢这个菜单,应该在程序中通过拦截鼠标消息的方法来达到目的。与在独立的 F l a s h 播放器中不同的是,在控件的右键菜单里点“About...”的话,将打开浏览器到 Macromedia 的网站上去 看 About 了。

movie.Menu = False

 

10.Movie (读写)

语法:Movie AsString

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

例子 :

movie.Movie="//www.domain.com/path1/path2/filename.swf"

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

 

11.Playing (只读)

语法:Playing AsBoolean

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

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

 EndIf

 

12.Quality (读写)

语法:Quality AsLong

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

0 ——相当于 Quality2 取 "Low"

1 ——相当于 Quality2 取 "High"

2 ——相当于 Quality2 取 "AutoLow"

3 ——相当于 Quality2 取 "AutoHigh" 例子 : movie.Quality = 1

 

13.Quality2(读写)

语法:Quality AsString

说明:画面质量(与 Quality 联动)。Quality2 可以取: Low :偏重于播放速度而不管显示效果,而且不启用消锯齿功能 。

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

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

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

例子 :movie.Quality2 = "High"

 

14.ReadyState(只读)

语法:ReadyStateAs Long

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

0 ——正在载入

1 ——未初始化

2 ——已载入

3 ——正在交互

4 ——完成例子 :

 Ifmovie.ReadyState = 4 Then

 MsgBox " 影片载入完成! " End If

 

15.SAlign (读写)

语法:SAlign AsString

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

代表各对齐模式的位被置“1”时,SAlign 值也相应被设为 “L”(Left)、“T”(Top)、“R”(Right)、“B”(Bottom)各 字符的组合。(‘L’、‘T’、‘R’、‘B’的先后顺序不变)

例子:设置影片为左对齐和顶对齐: movie.SAlign = "LT"

 

16.Scale (读写)

语法:scale AsString

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

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

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

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

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

 

17.ScaleMode(读写)

语法:ScaleModeAs Long

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

0 ——相当于 Scale 取 "ShowAll"

1 ——相当于 Scale 取 "NoBorder"

2 ——相当于 Scale 取 "ExactFit"

例子:使影片的缩放模式改成“ExactFit”: movie.ScaleMode= 2

 

18.Stacking (读写)

语法:Stacking AsString

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

none ——“行为”不显示。

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

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

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

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

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

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

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

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

例子 :movie.Stacking = "below"

 

19.TotalFrames(只读)

语法:TotalFramesAs Long

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

例子 :If movie.ReadyState = 4 Then

MsgBox " 本影片共有 " & movie.TotalFrames & " 帧。"

End If

 

20.WMode (读写)

语法:WMode AsString

说明:控件的窗口模式。WMode可以取:

Window —— WMode 属性的默认值,按 Flash 播放器典型的方式工作,即在控件的矩形窗口中播放影片,这样一般都能提供最快的动画效果。

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

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

例子 :movie.WMode = "Transparent"

 

方法:

1.Back

语法:Back() 

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

例子 :movie.Back

 

2.Forward

语法:Forward()

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

例子 :movie.Forward

 

3.GotoFrame

语法:GotoFrame(FrameNumAs Long) 说明:将影片跳转到由FrameNum 指定的帧,并且

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

例子:跳转到影片的第 20 帧: movie.GotoFrame 20

 

4.LoadMovie

语法:LoadMovie(layerAs Long, url As String) 说明:将由 url 指定的影片载入到由layer 指定的层上。

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

 

5.Pan

语法:Pan(x AsLong, y As Long, mode As Long) 说明:将一个放大过的影片平移由 x 和 y 指定的距离。

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

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

 

6.Play

语法:Play()

说明: 开始播放影片。

例子: movie.Play

 

7.Rewind

语法:Rewind()

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

例子: movie.Rewind

 

8.SetVariable

语法:SetVariable(nameAs String, value As String) 说明:将由 name 指定的 Flash 变量值设为 value。

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

 

9.SetZoomRect

语法:SetZoomRect(leftAs Long, top As Long, right

As Long, bottom As Long)

说明: 将影片中指定的矩形区域放大到控件的大小。 left(左)、top(顶)、right(右)、bottom(底)的坐标值是相 对于控件中的影片有效位置计算的。注意哟,这个函数是从影片的有效区域的左上角开始计算,而不是控件的左上 角。

例子:放大影片中从左上角开始的 200 × 200 点的矩 形区域 :

pointsToTwips = 20;

movie.SetZoomRect 0, 0, 200 *pointsToTwips, 200* pointsToTwips

 

10.Stop

语法:Stop() 

说明 :停止播放影片 。

例子:movie.Stop

 

11.StopPlay

语法:StopPlay()

说明 :停止播放影片 。

例子:movie.StopPlay

 

12.TCallFrame

语法:TCallFrame(targetAs String, FrameNumAs Long)

说明:在由 t a r ge t  指定的时间轴中,执行由 FrameNum 指定的帧中的动作。

例子:要运行主时间轴中第 5帧的动作: movie.TCallFrame"/", 4

 

13.TCallLabel

语法:TCallLabel(targetAs String, label As String) 说明:在由 target 指定的时间轴中,执行由 label 指定的帧中的动作。

例子:要运行主时间轴中名为“HandleScriptNotify”的帧中的动作: movie.TCallLabel"/", "HandleScriptNotify"

14.TGotoFrame

语法:TGotoFrame(targetAs String, FrameNum

As Long)

说明:对于由 t a r ge t  指定的时间轴,转到由 FrameNum 指定的帧。

例子 :movie.TGotoFrame "/MovieClip", 2

 

15.TGotoLabel

语法:TGotoLabel(target As String, label As String) 说明:对于由 target 指定的时间轴,转到由 label 指定的帧。

例子:movie.TGotoLabel"/MovieClip", "MyLabel"

 

16.TPlay

语法:TPlay(targetAs String) 说明:播放由 target 指定的时间轴。

例子:movie.TPlay"/MovieClip"

 

17.TSetProperty

语法:TSetProperty(targetAs String, property AsLong, value As String)

说明:对于由 target 指定的时间轴,把由 property 指 定的属性设为由 value 指定的值(字符串)。property 是一个 代表相应属性的编号(详情请参阅附表)。

例子 :Dim nameIndex As Long

             nameIndex = 13

movie.TSetProperty "/MovieClip", nameIndex,

"NewName"

 

18.TSetPropertyNum

语法:TSetPropertyNum(targetAs String, property As Long, value As Double)

说明:对于由 target 指定的时间轴,把由 property 指定的属性设为由 value 指定的值(数字)。property 是 一个代表相应属性的编号 (详情请参阅附表 )。

例子 :Dim visibilityIndex As Long visibilityIndex = 7

movie.TSetProperty "/MovieClip", visibilityIndex, 1

 

19.TStopPlay

语法:TStopPlay(targetAs String)

说明:停止播放由target 指定的时间轴。

例子 :movie.TStopPlay "/MovieClipToStop"

 

20.Zoom

语法:Zoom(factorAs Long)

说明:以 factor 指定的相对百分比来缩放视图。factor可以理解为从控件窗口看到的影片占实际大小的百分比。将factor 设为 0,则视图还原成 100% 大小。当前视图已经是100%时不能再将其缩小。

例子 :将影片放大两倍 : movie.Zoom 50

 

 

下面的方法都有返回值:

21.CurrentFrame

语法:CurrentFrame()As Long

说明: 返回影片的当前帧数。影片的第一帧为 0 。 例子 : Dim frameNow As Integer frameNow =movie.currentFrame

 

22.FlashVersion

语法:FlashVersion()As Long

说明:返回控件版本号。该值共有三个字节,依次是主 版本号、次版本号、修订版本号。如我用的 Flash 播放器控 件用此方法返回值是 3 2 7 7 2 2 ,相当于十六进制的

&h05002A,相当于 5.00.42。

例子:下列程序显示你所使用的控件版本号:

Dim verNum, majorNum, minorNum, revisionNumAs Long

verNum=movie.FlashVersion

majorNum=verNum \ 65536

minorNum=(verNum - majorNum * 65536) \ 256

revisionNum = verNum Mod 256

MsgBox " 你的 Flash 播放器控件的版本号:"  & majorNum & "." &minorNum & "." & revisionNum

 

23.GetVariable

语法:GetVariable(nameAs String) As String

说明:返回 name 指定的 Flash 变量的值。如果变量 不存在则返回 null。

例子 :

Dim firstName, radioButtonValue As StringfirstName = movie.GetVariable "FirstName" radioButtonValue =movie.GetVariable("/Form/ RadioButton:Value")

 

24、IsPlaying

语法:IsPlaying()As Boolean

说明:如果影片正在播放则返回true 。

例子 :If movie.IsPlaying Then

MsgBox " 影片正在播放中! "

             End If

 

25.PercentLoaded

语法:PercentLoaded()As Long

说明:返回目前已经载入的影片的百分比。取值范围 从 0 到 100 。

例子 :

Dim loaded As Boolean

If movie.PercentLoaded = 100 Then loaded =true

End If

26.TCurrentFrame

语法:TCurrentFrame(targetAs String) As Long

说明:返回由 target 指定的时间轴中当前帧的号码。返 回的帧号码是从 0 开始的,也就是说影片的第一帧为 0 ,第

二帧为 1,以此类推。

例子 :

Dim currentFrame As Long

currentFrame =movie.TCurrentFrame("/MovieClip")

 

27.TCurrentLabel

语法:TCurrentLabel(targetAs String) As String

说明:返回由 target 指定的时间轴中当前帧的标签。 如果没有当前帧的标签,则返回一个空字符串。

例子 :

Dim currentLabel As String

currentLabel =movie.TCurrentLabel("/MovieClip")

 

28.TGetProperty

语法:TGetProperty(targetAs String, property As Long) As String

说明:对于由 target 指定的时间轴,返回由 property 指定的属性值(字符串)。其中,property 是一个代表相应 属性的编号(详情请参阅附表)。

例子 :

Dim nameIndex As Long Dim name As StringnameIndex = 13 name = movie.TGetProperty("/", nameIndex)

 

29.TGetPropertyNum

语法:TGetPropertyNum(targetAs String, property As Long) As Double

说明:对于由 target 指定的时间轴,返回由 property 指定的属性值(数字)。其中,property 是一个代表相应属 性的编号(详情请参阅附表)。

例子 :

Dim framesLoadedIndex As Long DimframesLoaded As Double framesLoadedIndex = 12 framesLoaded =movie.TGetProperty("/", framesLoadedIndex)

 

附表:获取及设置属性。相应的每个属性的编号都可用在 TGetProperty、TGetPropertyAsNumber、TSetProperty 或 TSetPropertyNum 中,以指出将要访问的属性。

 

事件:

1.FSCommand

语法:FSCommand(commandAs String, args As

String)

说明:在 Flash 中为影片添加的 FSCommand 动作可 以从影片中传递信息给 Flash 播放器,Flash 播放器或包含 播放器控件的网页或程序播放这个影片时就根据得到的这些信息执行相应的动作,从而实现影片内部与外部应用的交 互操作。如在 F l a s h 中给一个按钮图片添加如下的 Action:

on(release) {

  fscommand("fullscreen","true");

}

当 Flash 播放器播放这个文件时点击按钮,播放器就 会切换到全屏模式。

 

下面是 Flash 自带的播放器能识别的 命令和它们的参数:

命令 : quit

参数 :无参数 

作用:关闭播放器 命令:fullscreen 参数:true 或 false

作用:设置为 true 使播放器以全屏模式播放;设置 为 false 使播放器回到一般窗口模式播放。

 

命令:allowscale

参数:true 或 false

作用:设为 false 将使影片不随播放器大小改变而改 变,始终保持原始尺寸,相当于播放器菜单中的 100% ; 设为 true 则恢复影片随播放器大小而改变的尺寸,相当于 播放器菜单中的 Show All 。

 

命令:showmenu

参数:true 或 false

作用:设为 true 显示全部菜单,包括菜单栏和播放 区的右键菜单;设为 false 菜单栏不显示,播放区的右键菜单中只有一项“About Macromedia FlashPlayer...”。

 

命令: exec

参数:应用程序的路径及名称 作用:执行一个指定的应用程序。如在 Flash 影片中

添加动作为 :

fscommand("exec","regedit");

则播放器播放影片时执行此动作会打开“注册表编辑 器”程序。注意哟,Flash 自带的播放器接收到这些命 令后会执行相应的动作,但在控件中不会有任何反应,只能由程序在 FSCommand 事件中分析接收到的 command 和args 并编程做出相应处理。

 

2.OnProgress

语法:EventOnProgress(percentDone As Long)

说明:发生在 Flash 影片下载时。percentDone 是影片已下载的百分比,取值从 0 到 100 。

例子:在窗体标题栏中显示下载进度:

Private Sub movie_OnProgress(ByValpercentDone As Long) 

form1.Caption = " 影片已下载:" & percentDone&"%"

End Sub

 

3.OnReadyStateChange

语法:EventOnReadyStateChange(newState As

Long)

说明:发生在控件的准备状态改变时。下面列出了

newState 可能的值:

0 ——正在载入

1 ——未初始化

2 ——已载入

3 ——正在交互

4 ——完成

例子:影片载入完成后出现提示信息,然后开始播放 影片 :

Private Sub movie_OnReadyStateChange(newStateAs

Long)

  IfnewState = 4 Then

MsgBox " 影片载入完成! " & vbCrLf &" 影片总帧 数:" & movie.TotalFrames

      movie.Play

         End If

     End Sub

 

有些例子是VB的,但还是看得懂,反正不是写Flash播放器的话也用不了多少的

只要一个Movie属性和Play()方法就可以在From里放flash了

 

这里算是对C#Winform对使用Flash控件的一个总结吧,希望给想我一样对Flash不太熟悉的人一些帮助

在WinFrom里使用Flash的确很炫

本文由职坐标整理并发布,了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程