2013-01-17 45 views
0

我最近開始玩弄HAXE,使用AS3相當長的一段時間後,雖然寫一個非常簡單的遊戲引擎遇到了一個問題:限制訪問Haxe中的函數?

我有一個叫World類。 World所做的一件事是跟蹤遊戲中的所有對象。我希望這個Entity對象的列表只能從引擎中訪問。引擎的用戶不應該能夠直接修改列表。

在AS3中,我可以簡單地使用internal關鍵字來訪問同一包中的其他類。如果這還不夠,我可以定義一個自定義名稱空間並將其用作我的訪問修飾符。但是Haxe似乎沒有這些。

TL; DR:如何限制變量對特定包/名稱空間的訪問?如果不可能,我還有什麼其他選擇?

回答

2

如果您使用Haxe 2.11(每晚構建),則可以使用@:allow

Haxe.org wiki複製:

@:允許(my.pack):這會給在包my.pack所有類(及其 訪問 類的所有私有字段子包)。請參閱訪問控制瞭解更多信息。 (自2.11開始)

更詳細的文檔Access Control

+0

不錯,這就是我一直在尋找的東西。謝謝! – user1925315