2012-10-11 70 views

回答

2

它使用雪碧的原型是可能的:

Sprite.prototype.clean = function():void { trace("works"); } 
var s1:Sprite = new Sprite(); 
var s2:Sprite = new Sprite(); 
s1["clean"](); 
s2["clean"](); 

當然,這增加了清潔,以創建雪碧的所有實例,如果這不是你想要的,你可以只創建一個函數來創建精靈什麼,使用它。

function createSprite():Sprite 
{ 
    var s:Sprite = new Sprite(); 
    var f:Function = function(){this.graphic.clear()} 
    s.clean = f ; 
    return s; 
} 

如果你不想改變Sprite類的另一種選擇是繼承並添加清潔方法到這個新類:

public class MySprite extends Sprite 
{ 
    public function clean():void 
    { 
     this.graphic.clear(); 
    } 
} 

var s1:MySprite = new MySprite(); 
s1.clean(); 
+0

我真的不想改變Sprite類。有沒有任何原型風格的解決方案? – ArchenZhang

+0

編輯答案,如果您不想修改並使用該類,則可以擴展Sprite。 –

相關問題