【发布时间】:2014-03-22 03:04:34
【问题描述】:
我的主类文件中有一个存储对象的向量。我希望能够将更多对象添加到来自不同类的相同向量。我在我的主类中给了向量“public”修饰符。我现在需要在我的其他类文件中引用它的语法
public var badChar:Vector.;
【问题讨论】:
标签: actionscript-3 flash-builder flash-cs5
我的主类文件中有一个存储对象的向量。我希望能够将更多对象添加到来自不同类的相同向量。我在我的主类中给了向量“public”修饰符。我现在需要在我的其他类文件中引用它的语法
public var badChar:Vector.;
【问题讨论】:
标签: actionscript-3 flash-builder flash-cs5
你有选择。您如何处理它取决于您的项目设置和物业的需求。它是一个实例化的对象,还是应该只有一个(即使该类被实例化多次)?无论与舞台有任何关系,您都需要直接访问它吗?以下每种解决方案各有利弊。
假设以下主要foo.as类:
package {
public class Foo {
public var bool:Boolean = true;
}
}
栏类:
package {
public class Bar extends Sprite {
import flash.events.Event;
public function Bar() {
addEventListener(Event.ADDED_TO_STAGE, accessFoo);
}
private function accessFoo(e:Event):void {
trace(this.parent["f"].bool); // traces "true"
}
}
}
文档代码:
var f:Foo = new Foo();
var b:Bar = new Bar();
addChild(b);
Foo 类:
package {
public class Foo {
public var bool:Boolean = true;
}
}
酒吧类
package {
public class Bar extends Foo {
public function Bar() {
trace(bool); // traces "true"
}
}
}
一些免责声明应该适用于Static 属性,但我会让您阅读这些内容。
Foo 类:
package {
public class Foo {
public static var bool:Boolean = true;
}
}
酒吧类
package {
public class Bar {
public function Bar() {
trace(Foo.bool); // traces "true"
}
}
}
Foo 类:
package {
public class Foo {
public var bool:Boolean = true;
}
}
酒吧类
package {
public class Bar {
import Foo;
public function Bar() {
trace(new Foo().bool); // traces "true"
}
}
}
Foo 类:
package {
public class Foo {
public var bool:Boolean = true;
}
}
酒吧类
package {
public class Bar {
import Foo;
public var fluffy:Foo;
public function Bar() {
trace(fluffy.bool);
}
}
}
文档代码:
var f:Foo = new Foo();
var b:Bar = new Bar();
b.fluffy = f;
请注意,在文档代码的第三行之后,fluffy 不再是未声明的变量,现在将指向f 对象,其中更新的属性(例如bool)将反映在里面Bar.
【讨论】: