Flash:with语句指向自身的小办法

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

恩,对于with,不知道各位flasher们是一个什么样的了解。其实,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包括我的。那就是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的作用,没有任何意义。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航