2013-04-08 72 views
1

我们必须嵌入到Visual Basic应用程序的.swf文件的flash动画。访问SWF文本字段通过Visual Basic

我想读的叫做“鲍勃”使用下面的代码动画的文本字段的内容;

TextBox1.Text = AxShockwaveFlash1.GetVariable("bob") 

执行时,textbox1中的输出是“_level0.bob”???

这是动画中的实际文本,并知道如何才能访问它有什么不同?

试过bob.text等

感谢

菲尔

回答

1

我觉得你的问题是双重的。首先,你需要能够知道瑞士法郎是否准备好。我试图让它在一次VBA应用程序中工作(Access),并且我永远无法可靠地使它工作。

你需要认识到的第二件事是,文本字段的类型文本字段,而不是字符串。

+0

下面是动作脚本变量; – Phil 2013-04-09 07:53:21

+0

谢谢艾米,这就是为什么我无法访问文本的自我。以下是动作脚本变量; public var bob:TextField; public var count:Number; public var myTimer:Timer;我已经能够获得和设置文本字段的属性,例如它的x,y位置(但不是它的文本),但是根本不能访问变量计数,没有例外。 – Phil 2013-04-09 07:59:07

+0

好吧,看起来像as3,你不能通过VB flash播放器访问变量,可能是一个安全相关的变化。 – Phil 2013-04-09 09:35:36

2

右键发现,AS3有效的解决方案和VB其他几个解决方案鹅卵石,你需要使用外部接口的动作脚本这里是在AS3和VB代码。发送两个字符串小时和分钟。

AS3

function TimeUpdate(o:Object) 
{ 
    var r:String = ""; 
    for (var v in o) 
     //Move the values from visual basic to mins and hours 

     if (v = "mins") mins = o[v]; 
     if (v = "hours") hours = o[v]; 

    time.text = hours + ":" + mins; 

    return "TimeUpdate was called"; 
} 

if (ExternalInterface.available) 
    ExternalInterface.addCallback('TimeUpdate', TimeUpdate); 

的Visual Basic

Dim x As String 
     x = "<invoke name=""TimeUpdate"" returntype=""xml"">" 
     x = x & "<arguments>" 
     x = x & "<object>" 
     x = x & "<property id='hours'><string>2</string></property>" 
     x = x & "<property id='mins'><string>33</string></property>" 
     x = x & "</object>" 
     x = x & "</arguments>" 
     x = x & "</invoke>" 

     Dim responce As String 
     responce = AxShockwaveFlash1.CallFunction(x) 
     MsgBox(responce) 

希望这是使用的人的。

菲尔