搜索
查看: 9428|回复: 13

嵌入FLASH控件

  [复制链接]

186

主题

2537

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13938
发表于 2012-6-29 23:15:29 | 显示全部楼层 |阅读模式
//嵌入FLASH控件
import win.ui;
/*DSG{{*/
var winform = ..win.form( right=511;bottom=352;parent=...;text="嵌入FLASH控件";border="resizable" )
winform.add(
btn_xcall={ dr=1;bottom=340;text=
"调用Flash函数";left=119;top=313;z=2;db=1;right=296;cls="button" };
static={ dr=1;dl=1;bottom=303;right=488;left=19;dt=1;top=16;z=1;db=1;transparent=1;edge=1;cls=
"static" };
btnDump={ dr=1;bottom=340;text=
"显示成员";left=307;top=313;z=3;db=1;right=395;cls="button" }
)
/*}}*/

//创建控件
import com.flash;
var flash = com.flash( winform.static );

//响应命令
flash.command = {
    msgbox =
function( args ){
         winform.msgbox(args)
    }
}

//导出接口函数
flash.external = {
    addNumbers =
function(a,b){
        winform.msgbox(
"addNumbers被调用,参数:" + a + " " + b)
        
return a + b;
    }   
}

//打开swf文件
flash.movie = "~\example\Flash\testCall.swf"
flash.play()

winform.btn_xcall.oncommand =
function(id,event){
   
var str = flash.xcall("callMe",1,2);
    winform.msgbox(
"FLASH函数返回值:" + str  );
}

winform.btnDump.oncommand =
function(id,event){
    io.open()
    com.DumpTypeInfo(flash._object)   
    io.print(
"按 CTRL+C 关闭此窗口")
}

winform.show(
true)
win.loopMessage();
  


testCall.swf 脚本( AS3.0 )
  1. btnCallaardio.addEventListener(MouseEvent.CLICK, fl_ClickCallaardio);
  2. function fl_ClickCallaardio(event:MouseEvent):void {
  3.         fscommand("msgbox", "这是flash调用aardio的响应");
  4. }

  5. import flash.external.*;
  6. function callMe(a:uint,b:uint):uint {
  7.         var result:uint = ExternalInterface.call("addNumbers",a,b);
  8.         return result;
  9. }
  10. ExternalInterface.addCallback("callMe", callMe);
复制代码
回复

使用道具 举报

186

主题

2537

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13938
 楼主| 发表于 2012-6-29 23:25:57 | 显示全部楼层

以上面的aardio嵌入FLASH控件的代码为例,下文中使用flash变量名表示flash控件对象 flash.command 对象的成员函数可以在FLA

以上面的aardio嵌入FLASH控件的代码为例,下文中使用flash变量名表示flash控件对象

flash.command 对象的成员函数可以在FLASH AS脚本中使用下面的代码调用:
  1. fscommand("command对象成员函数名", "参数文本");
复制代码
flash.external 对象的成员函数可以在FLASH AS脚本中使用下面的代码调用:
  1. ExternalInterface.call("external对象成员函数名",其他参数);
复制代码
而fscommand不同的是,可以传递多个参数,也可以获取返回值。
回复

使用道具 举报

186

主题

2537

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13938
 楼主| 发表于 2012-6-29 23:29:02 | 显示全部楼层

首先在FLASH AS脚本中使用下面的代码导出FLASH函数  [align=left][font=新宋体][quote][color=#0000ff]i


首先在FLASH AS脚本中使用下面的代码导出FLASH函数 
import flash.external.*;
ExternalInterface.addCallback(
"函出函数名", 函出函数对象);

在aardio中使用下面的代码直接调用FLASH函数:
var 返回值 = flash.xcall("FLASH函数名",零个或多个其他参数 );



回复

使用道具 举报

52

主题

1340

帖子

7326

积分

荣誉会员

Rank: 8Rank: 8

积分
7326
发表于 2012-6-29 23:44:15 | 显示全部楼层

直接调用 FLASH 函数 真是爽

直接调用 FLASH 函数 真是爽
回复

使用道具 举报

39

主题

195

帖子

1269

积分

四级会员

Rank: 6Rank: 6

积分
1269
发表于 2012-6-29 23:56:56 | 显示全部楼层

顶起,老大辛苦了,好功能!

顶起,老大辛苦了,好功能!
回复

使用道具 举报

2

主题

8

帖子

63

积分

一级会员

Rank: 2

积分
63
发表于 2012-6-30 09:12:10 | 显示全部楼层

前排占位,呵呵

前排占位,呵呵
回复

使用道具 举报

2

主题

76

帖子

543

积分

三级会员

Rank: 4

积分
543
发表于 2012-6-30 16:15:05 | 显示全部楼层

又发现aardio的强大功能

又发现aardio的强大功能
回复

使用道具 举报

7

主题

161

帖子

935

积分

三级会员

Rank: 4

积分
935
发表于 2012-7-6 13:05:24 | 显示全部楼层

aardio越来越强悍了,不得不佩服啊!

aardio越来越强悍了,不得不佩服啊!
有眼界才有境界,有实力才有魅力,有思路才有出路!
使用20%的努力,带动80%的资源,创造100%的成功!
回复

使用道具 举报

48

主题

593

帖子

3336

积分

五级会员

Rank: 8Rank: 8

积分
3336
发表于 2012-7-13 12:43:10 | 显示全部楼层

生成testCall.swf这个文件不会是用 macromadiea flash来做吧 还是有其他工具?不得不说老大真是样样精通

生成testCall.swf这个文件不会是用 macromadiea flash来做吧 还是有其他工具?不得不说老大真是样样精通
回复

使用道具 举报

15

主题

132

帖子

937

积分

三级会员

Rank: 4

积分
937
发表于 2012-7-14 15:43:12 | 显示全部楼层

强,不是一般的强,不收藏简直对不起自己。 这个给我们指明了一个控制flash的方向。

强,不是一般的强,不收藏简直对不起自己。
这个给我们指明了一个控制flash的方向。
回复

使用道具 举报

5

主题

22

帖子

137

积分

一级会员

Rank: 2

积分
137
发表于 2013-3-4 12:47:01 | 显示全部楼层

太好了!! 不知道各种变量是否也可以通用,如果可以。 那么完全可以用Flex制作漂亮的UI,aardio制作一个外壳程序用来与SQL通信,再也不需要各种搭建

太好了!!
不知道各种变量是否也可以通用,如果可以。
那么完全可以用Flex制作漂亮的UI,aardio制作一个外壳程序用来与SQL通信,再也不需要各种搭建servers的麻烦了。
回复

使用道具 举报

4

主题

18

帖子

107

积分

一级会员

Rank: 2

积分
107
发表于 2013-5-27 15:49:40 | 显示全部楼层

{:3_41:}这么强大的功能啊

这么强大的功能啊
回复

使用道具 举报

0

主题

2

帖子

26

积分

新手入门

Rank: 1

积分
26
发表于 2013-12-30 14:07:47 | 显示全部楼层

{:3_48:}好东西啊

好东西啊
回复

使用道具 举报

2

主题

10

帖子

73

积分

一级会员

Rank: 2

积分
73
发表于 2014-3-16 23:31:30 | 显示全部楼层

学习了,很有用的!感谢各位!

学习了,很有用的!感谢各位!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-8-22 07:08 , Processed in 0.093751 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表