with语句指向自身的小办法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    语句

    恩,对于with,不知道各位flasher们是一个什么样的了解,

with语句指向自身的小办法

。其实,with从理论上并不是一个非常重要的语句,没有with,很多功能照样可以实现,因为with本身并不负责创建、回收任何SWF中的资源。

    然而,with的出现却大大方便了我们设计人员。代码中的with能让我们更加清晰的对特定的MC进行管理

    比如,在一段复杂的逻辑控制中要对mc1,mc2,mc3进行操作,用with能让程序结构更加清晰。

    with(mc1){

    //....

    }

    with(mc2){

    //...

    }

    with(mc3){

    //...

    }

    而且with和能够返回MC实例的方法结合使用能让程序更加简化,例如

    with(mc0.duplicateMovieClip("aw",1)){

    //set the Properties for the mc-aw

    }

    然而,有一个问题一直是困扰众多Flasher包括我的,

电脑资料

with语句指向自身的小办法》(https://www.unjs.com)。那就是this在with中的指向。

    在with中,用_x,_y,_width这些属性可以访问本身mc的相关属性,可是惟独this无法指向自己。这是跟with语句本身的内核有关的。我曾经为此而郁闷很久,比如我要给这个mc增添一个变量,却不能用this.myVar = xxx;其实我们不必在意这些,因为根据mc本身的属性找到自己,也不是不可能。这里就要用到两个很容易被大家忽视的属性:_parent , _name。

    只需要设置一个句柄指向自己就可以了,我们可以设置为

    getThis = _parent[_name];

    这样,getThis就等同于this了。对mc进行更多的操作可以用getThis了,例如增设变量可以用

    getThis.t = 19;

    而直接写“t=19”事实上是把这个值赋于了父级的mc。

    有趣的是,用with再对getThis嵌套,仍然可以得到本身,这样可以写出无穷层次的嵌套。当然这只是为了说明getThis的作用,没有任何意义。

最新文章