在实际开发中,我们如果用flash和微软产品结合编程,可以提高界面开发的效率或改变游戏开发的方式(当要求比较低时,
不一定要用openGL等引擎编程),甚至与.net结合写网络游戏(基于UDP的)我把平时编程的一些经验拿出来献丑,希望能起到
抛砖引玉的作用,大家尽量以精辟的语言或代码回复,关注者请帮忙顶一下(我以VB描述,大家可用任意语言回复)
加载控件: softwave flash (即flash.ocx 8.0)
控件加载flash动画 ShockwaveFlash1.Movie = App.Path + "\flash.swf"
设置falsh的背景为透明(默认是窗口型Wmode = windows ,白色会挡住其它层次的背景,注意动画本身背景也应该是透明的)
设置 Wmode = Transparent
要获得flash中变量的值可以用ShockwaveFlash1.GetVariable("txtname") 'txtname 为flash中一文本框的 "变量" 属性
要设置flash中变量的值可以用ShockwaveFlash1.SetVariable "txtname", "变量值"
如果动画中有多个按钮,要判断用户点击了哪个按钮,第一步要在flash的每个按钮脚本事件中写 如
on release{
FSCommand("e") 'e为标志值
}
第二步,在VB中的flash控件事件中写
Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
If command = "OK" Then
msg = MsgBox("您按的是" & command & "按钮", vbApplicationModal, "flash和VB结合成功了")
ElseIf command = "retry" Then
msg = MsgBox("您按的是" & command & "按钮", vbApplicationModal, "flash和VB结合成功了¡")
ElseIf command = "exit" Then
msg = MsgBox("您按的是" & command & "按钮", vbApplicationModal, "flash和VB结合成功了¡")
Else
Unload Me
End If
end sub
我不知道flash是否支持属性过程,如果你要作某件事,变量参数很多,一个个传很麻烦,flash.ocx (8.0)
新加了一个功能,叫callfunction方法,不过最近调试不成功,可能原因是我用MX 2004 版的, 不知道在flash 8.0
中写个 function 后生成的swf可不可以,最近看了外国的一篇资料,好像flash.ocx 8.0控件的新方法等只对
flash 8.0发布的格式支持,大家可以去试试后来讨论,还有一个问题是如果带参数,怎样callfunction,因为
ShockwaveFlash1.callfunction只支持一个变量如果您用的是以前的版本(flash.ocx 7.0的,要检测VB或VC++
传送的值并引起变化,那么你可以在动画中定义重复执行的贞,其实如果贞数不多耗费的资源是可以忽略的)
跨语言编程的资料一向在国内很少资料,希望对这方面有兴趣的和研究的支持这个帖子,踊跃回复您的高招
,让这帖子的内容丰富,重要的是浮起来先