flash as3.0类之间如何去访问它们的属性和方法。

2024-11-15 12:19:34
推荐回答(5个)
回答(1):

要知道文档类是属于主场景上的类,类似于时间轴脚本。因此你想在其它类中访问文档类中的变量,那是不能直接访问的,而且在文档类中,也没有必要去创建public这种公共变量。要想在任何时候访问一个类的变量,可以将这个文档类提供给其它类的一个引用,这样就可以方便的调用文档类中的内容了。比如你在actor类中可以用参数的方式引用文档的实例。正如楼下这位所说的,但我感觉还是你设计有问题,我们很少这样来设计类的。至少说明你是一个初学者,对类基本接触很少。当然传递参数可以有几种方式,可以在构造函数中传递,这是初始化时的传递,也可以在实例化后传递,方式是创建一个类内成员,可以是属性成员,也可以是方式成员,然后把参数传递进去,当然为了在你的actor类中,能全局使用,最好在类中创建一个私有变量,然后将引用传递给这个变量,就可以了。我想你接触过类,应该明白我们说的这些。

回答(2):

你这个类和类的设计有问题.
如果你非要这么做,你可以在子类的构造函数传参数.
var a:actor = new actor(twoPeopleGame);
actor的构造函数就可以访问到这个变量了.
如果你两个对象都是现实对象,可以再子显示对象中先获得父显示对象的引用,然后在引用变量
比如 actor类已经在父显示对象中被addchild到显示列表中,你可以使用_parent.twoPeopleGame
如果你想多次使用共享文档类中的变量,可以用static var twoPeopleGame:Boolean = false;
在actor类用 "文档类.twoPeopleGame"方式访问.当然这种方式不推荐

回答(3):

在actor类中。。。if(this.parent.twoPeopleGame)。。就可以访问主文档里的public属性。。同理public方法也是一样。。。。都可以用this.parent.+属性名或方法名。。。。。

回答(4):

if(a.twoPeopleGame),
twoPeopleGame
是成员变量,使用成员变量必须用实例调用,即实例名.属性名

回答(5):

的构造函数来 _root= this; 然后你就可以在别的类中访问舞台上的变量了 ......你用a加载b,是相同域的。就可以用a调用b的公有属性和方法嘛 as3也是...