flash as3.0类之间如何去访问它们的属性和方法。
就是我写了在文档类中写了publicvartwoPeopleGame:Boolean=false;然后在文档类的构造函数里面写上了vara:actor=newactor(...
就是我写了在文档类中写了public var twoPeopleGame:Boolean = false;
然后在文档类的构造函数里面写上了var a:actor = new actor();
它就会执行actor类的构造函数。
我在actor类里写上if(twoPeopleGame)它会报错说没有定义这个属性。
要怎么去访问才可以。先弄100分吧。可以了就再加一百分。 展开
然后在文档类的构造函数里面写上了var a:actor = new actor();
它就会执行actor类的构造函数。
我在actor类里写上if(twoPeopleGame)它会报错说没有定义这个属性。
要怎么去访问才可以。先弄100分吧。可以了就再加一百分。 展开
5个回答
展开全部
要知道文档类是属于主场景上的类,类似于时间轴脚本。因此你想在其它类中访问文档类中的变量,那是不能直接访问的,而且在文档类中,也没有必要去创建public这种公共变量。要想在任何时候访问一个类的变量,可以将这个文档类提供给其它类的一个引用,这样就可以方便的调用文档类中的内容了。比如你在actor类中可以用参数的方式引用文档的实例。正如楼下这位所说的,但我感觉还是你设计有问题,我们很少这样来设计类的。至少说明你是一个初学者,对类基本接触很少。当然传递参数可以有几种方式,可以在构造函数中传递,这是初始化时的传递,也可以在实例化后传递,方式是创建一个类内成员,可以是属性成员,也可以是方式成员,然后把参数传递进去,当然为了在你的actor类中,能全局使用,最好在类中创建一个私有变量,然后将引用传递给这个变量,就可以了。我想你接触过类,应该明白我们说的这些。
展开全部
你这个类和类的设计有问题.
如果你非要这么做,你可以在子类的构造函数传参数.
var a:actor = new actor(twoPeopleGame);
actor的构造函数就可以访问到这个变量了.
如果你两个对象都是现实对象,可以再子显示对象中先获得父显示对象的引用,然后在引用变量
比如 actor类已经在父显示对象中被addchild到显示列表中,你可以使用_parent.twoPeopleGame
如果你想多次使用共享文档类中的变量,可以用static var twoPeopleGame:Boolean = false;
在actor类用 "文档类.twoPeopleGame"方式访问.当然这种方式不推荐
如果你非要这么做,你可以在子类的构造函数传参数.
var a:actor = new actor(twoPeopleGame);
actor的构造函数就可以访问到这个变量了.
如果你两个对象都是现实对象,可以再子显示对象中先获得父显示对象的引用,然后在引用变量
比如 actor类已经在父显示对象中被addchild到显示列表中,你可以使用_parent.twoPeopleGame
如果你想多次使用共享文档类中的变量,可以用static var twoPeopleGame:Boolean = false;
在actor类用 "文档类.twoPeopleGame"方式访问.当然这种方式不推荐
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在actor类中。。。if(this.parent.twoPeopleGame)。。就可以访问主文档里的public属性。。同理public方法也是一样。。。。都可以用this.parent.+属性名或方法名。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(a.twoPeopleGame),
twoPeopleGame
是成员变量,使用成员变量必须用实例调用,即实例名.属性名
twoPeopleGame
是成员变量,使用成员变量必须用实例调用,即实例名.属性名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
的构造函数来 _root= this; 然后你就可以在别的类中访问舞台上的变量了 ......你用a加载b,是相同域的。就可以用a调用b的公有属性和方法嘛 as3也是...
追问
能不能说清楚点。就是文档类里面写
var _player1:player1Class= new player1Class();
addChild(_player1);
var a:Enemies = new Enemies();
addChild(a);
在这个Enemies类里面有访问这个_player里的实例属性。我要怎么去访问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询