2013-10-29 104 views
0

我正在使用Actionscript 2(尚未準備好升級,雖然它對問題不敬重),但是我遇到了OOP和類問題。小AS2 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。它應該輸出唯一的「類型」字符串,但它總是輸出「行」(創建的最後一個類型工具),而不管我翻轉哪一個。

不用說,我仍然是所有這些的初學者。但似乎他們都共享相同的變量:/我如何使這些變量獨特的每個對象創建?

非常感謝!

回答

2

這是因爲它的類型爲static,所以該值由該類的所有實例共享。刪除它,它應該工作。

private var Type:String; 
+0

你是一個救星! – Tom