您的位置:首页 > 其它

Director中调用AS3.0对象-getVariable 附源码 - 20151228update

2012-03-01 11:16 323 查看
把文件想象成一个推车,一个swf文件就是一个挂着“swf”牌子的推车。

在AS2的年代,推车上可能会有些散落的数据,它不属于任何任何小盒子(按钮,movieclip之类);

AS3的完全面向对象,也就是不允许这种散落的没有被装进盒子的零碎出现。

因此最简单的方法就是在这个推车上首先放一个最外层的盒子,对AS3而言就是最外层的那个movieclip。

于是,在AS3年代要从swf推车上拿数据,首先得打开最外层的movieclip盒子,然后才能拿散落在盒子里的数据。

至于这些数据为什么一定要是static。。。没有特别好的想法,先记住就是了。

--inserted 20120409--

估摸。。static是为了解决最终2进制程序的地址重定位问题。

-----------------------

步骤:

1.获取flash sprite
2.将flash sprite 的 propDirectAccess设为true
3.spriteRef.getVariable()获得flash的顶级movieclip的Ref
4.movieRef.getVariable()获取member,该member须是public static

源码在此下载:usingas3_getvariable(趣盘真恶心,万能的笔者自己都下载不下来了。 2013/9/17)

2015/12/28 update

AS3.0 源码

package  {

import flash.display.MovieClip;

public class MainMovie extends MovieClip {

public static var testString:String = "is it ok?";

public function MainMovie() {
// constructor code
}
}

}


Lingo源码(swf放在了sprite 1)(用dr12并没有设置propDirectAccess为true,也能访问到。)

on mouseUp me
flaInstance = sprite(1).GetVariable("MainMovie",false)
flaMember = flaInstance.getVariable("testString",false)
alert flaMember
end


相关日志:

Lingo和Flash交互
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐