Changing this made MouseTest run: - public static var renderer:IRenderer = new BaseRenderer; + private static var _renderer:IRenderer; + public static function get renderer():IRenderer + { + if(!_renderer) + _renderer = new BaseRenderer; + return _renderer; + } + public static function set renderer(value:IRenderer):void{ + _renderer = value; + }
I don’t know well enough to know whether getters and setters are necessary. If leaving the var uninitialized and requiring it to be set by the client might be a more efficient solution. > On Sep 5, 2017, at 8:27 PM, Harbs <harbs.li...@gmail.com> wrote: > > 0.8 was more capable of using constants of non-native types, but it had much > more difficulty with resolving circulars. > > Static constants and non-lazy static vars should be used with only native > types. For non-native types you should use lazy initialization. > > It’s a trade-off that I’ve found is very work-able. > >> On Sep 5, 2017, at 1:03 PM, lizhi <s...@qq.com> wrote: >> >> Thank you very much! >> Well, I also know there's a setTimeout, but this setTimeout is only JS >> built, so I don't care. >> However, it seems that the new version of the flexjs compiler has problems >> dealing with static classes. And flexjs0.8 doesn't have that problem. >> >> >> >> ----- >> spriteflexjs.com >> -- >> Sent from: http://apache-flex-development.2333347.n4.nabble.com/ >