zoukankan      html  css  js  c++  java
  • Director中调用AS3.0对象getVariable 附源码 20151228update

    把文件想象成一个推车,一个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交互 

  • 相关阅读:
    Freemarker
    加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
    Jenkins入门
    kafka实战
    多线程文件下载
    Excel操作报表
    @Pointcut 使用@annotation 带参数
    博客园设置
    Windows下 tensorboard显示No graph definition files were found的问题解决
    通过GitHub Desktop 上传代码到github 远程仓库
  • 原文地址:https://www.cnblogs.com/mumuliang/p/2375219.html
Copyright © 2011-2022 走看看