繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> 如何突破Class中的范围限制

如何突破Class中的范围限制

2007-10-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:我想学习过Class的朋友都会遇到一些范围方面的限制,例如在Class当中使用onKeyDown等事件无法调用别的函数,几乎很多网页也都只是单纯的解说方法而没有提到这点。在这里就教大家一个小技巧突破这个范围 class te...

我想学习过Class的朋友都会遇到一些范围方面的限制,例如在Class当中使用onKeyDown等事件无法调用别的函数,几乎很多网页也都只是单纯的解说方法而没有提到这点。在这里就教大家一个小技巧突破这个范围

class testing {

function testing() {

trace(this); //在这里的this是指testing本身

var myKey:Object = new Object();

myKey.onKeyDown = function() {

trace(this); //这里的this是指myKey

echo ("突破范围限制"); //当然你也可以使用_root.test.echo(), 但是这样的代码就无法灵活的应用在其他地方了

}

Key.addListener(myKey);

}

private function echo(str:String) {

trace(str);

}

}

---------------------- FLA ---------------------------

var test:testing = new testing();

解决方法很简单, 如下:

class testing {

function testing() {

var root:Object = this;

var myKey:Object = new Object();

myKey.onKeyDown = function() {

root.echo ("突破范围限制");

}

Key.addListener(myKey);

}

private function echo(str:String) {

trace(str);

}

}

测试之后是否出来了呢 ^_^

责任编辑:admin
相关文章