我正在使用 Actionscript 2(尚未准备好升级,尽管它与问题无关)但我在 OOP 和类方面遇到了麻烦。
我有一个“工具”类,写成这样:
class com.Tool {
public var self:MovieClip;
private static var Type:String;
function Tool(T:String, X:Number, Y:Number) {
Type = T;
self = _root.createEmptyMovieClip("obj"+_root.getNextHighestDepth(), _root.getNextHighestDepth());
self._x = X;
self._y = Y;
self.width = 36;
self.height = 36;
self.onRollOver = function() {
trace(Type);
}
}
}
我在主脚本中创建了 3 个,如下所示:
var toolPan:Tool = new Tool("pan", 0, 0);
var toolSquare:Tool = new Tool("square", 0, 38);
var toolLine:Tool = new Tool("line", 0, 76);
这一切都很好,除了onRollOver。它应该输出唯一的“Type”字符串,但它总是输出“line”(最后创建的 Type Tool),无论我翻过哪个。
不用说,我仍然是这一切的初学者。但似乎它们都共享同一个变量:/如何使这些变量对创建的每个对象都是唯一的?
非常感谢!