我正在制作一个 HTML5 游戏引擎DartRocket,它依赖于StageXL。StageXL 有一些类,其中充满了静态成员,我的游戏中需要其中一些。
我的问题是我可以在我的库(DartRocket)中使用这些静态成员,但我无法从使用我的库的游戏中访问它们。基本上,因为我无法从我的游戏中看到我的库的依赖关系。当我说游戏时,我指的是我图书馆中的一个例子。
我的问题是:我应该如何访问这些静态成员?
我想到了一些解决方案:
- 让用户导入 StageXL,以便他可以访问它们
- 将整个班级复制粘贴到我的图书馆中
- 使用镜像 API
我发现第一个解决方案很愚蠢,因为用户必须导入 StageXL 并且我的库已经依赖于它。
我使用第二个,因为我觉得它很容易并且我想对类进行更改,但这也不理想,因为如果库的依赖项发生更改,我必须自己更新它。
我还没有尝试过第三种解决方案,因为我不太喜欢使用镜像,因为它增加了代码的复杂性,并且使用变得基于成员的名称(字符串)。
一些不起作用的“解决方案”:
- 制作一个类的实例(希望它能起作用是令人尴尬和愚蠢的:D)
- 扩展类(不起作用,因为不继承静态成员)
你们有什么感想?