Yum也留下点

Programming and thinking

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
由于flash的设计初衷,flash中使用完全的oop实在是有点吃力,即时代码规划得再好,程序员也免不了需要跟时间轴打交道。多几层mc包含关系之后,对象路径的查找便会变得混乱。使用类的静态方法可以方便地解决解决这个问题。

class Shell {
    
private static var singleton:Shell;
    
private static var timeline:MovieClip;
    
static function init(_timeline:MovieClip) {
        
if (singleton != undefined) {
            
return;
        }

    }

    
static function hideTimeline(){
        timeline._visible
=false;
    }

}

用Shell.init()这个静态方法把主场景对象传给Shell类,创建Shell的一个单例:

Shell.init(this);

这样,便能把整个场景对象与一个专门提供静态类方法的对象捆绑起来了,在整个动画的任何地方都可以直接调用这个方法,无须知道这个方法是在哪个mc里面实现的,避免了繁琐的分布零散的代码管理。如果需要改某些功能的具体实现,只要打开Shell.as进行管理就可以了。

Shell.hideTimeline();

这仅是一个简单的例子,使用者当然可以根据自己的需求组织和编排自己需要的类。
以上所述只是提供一种解决问题的思路,未必适合所有需求,也未必是最好的方法。
posted on 2007-09-02 03:00  猩猩.NET  阅读(370)  评论(0)    收藏  举报