小型AS2 OOP问题
我正在使用ActionScript2(还没有准备好升级,尽管这与问题无关),但是我在OOP和类方面遇到了问题 我有一个“工具”类,是这样写的:小型AS2 OOP问题,oop,actionscript,actionscript-2,Oop,Actionscript,Actionscript 2,我正在使用ActionScript2(还没有准备好升级,尽管这与问题无关),但是我在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.createEmptyMovieC
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”(最后创建的类型工具)
不用说,我对这一切还是个新手。但它们似乎共享同一个变量:/I如何使这些变量对创建的每个对象都是唯一的
多谢各位 这是因为它是static类型,所以该值由该类的所有实例共享。移除它,它应该会工作
private var Type:String;
你是个救生员!!