当前位置: 首页 > 知识库问答 >
问题:

在Java中,有没有一种方法可以让两个类互相利用对方的变量?

唐焕
2023-03-14

我在Java写了一个游戏。我做了一个叫做Camera的类,女巫有两个静态的int表示相机的位置。摄像机的位置要求每一帧在许多不同的地方。这个位置有时也会在几个不同的地方被修改。我的问题是,我是否能够以一种使依赖的类独立和更可重用的方式分离camera类。我看过一些东西,包括监听器,但我不确定这些东西是否是用于连续数据传输的。我真的很感激你给我一点建议。

编辑:

java prettyprint-override">public class Camera{
    static public Vector2 cameraPosition;

    static public Vector2 getCameraPosition(){
        return cameraPosition;
    }
}

同样值得一提的是,我使用的是组件系统,我希望避免将一个新的相机参数传递给需要它的东西。

共有1个答案

呼延学
2023-03-14

侦听器应该为这种用法工作。使用位置的setter(包括两个静态整数)。在setter中,您可以调用保存在列表中的所有侦听器。因此,使用一个方法(两个int都是参数)为侦听器创建接口。如果您想要创建一个侦听器,您必须将接口实现到您的类并将该类添加到您的列表中,或者只需在添加它的同时创建该接口的一个“新实例”。

如果需要代码示例,请告诉我。但如果你不知道这些词的任何一个意思,你应该看看Java的这些部分。

 类似资料:
  • 问题内容: doIt函数将打印“ dad”。有没有办法让它打印“儿子”? 问题答案: 是。但是就变量而言,它会被覆盖(将新值赋予变量。将新定义赋予函数是Override)。 在父类的块中使用时,该值将得到反映 如果变量是静态的,则在初始化时使用静态块更改其值, 否则更改构造函数。 你还可以稍后在任何块中更改该值。它将反映在超一流

  • 问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)

  • 我有一个程序有3个线程。一个线程专用于向共享集合中添加项,其余两个线程用于从集合中移除项并对其进行处理。 我创建了一个用于添加的Runnable。看起来是这样的: 我创建了另一个Runnable,该Runnable可从共享集合中删除项。 主要方法如下: 我在运行程序时没有错误,但我注意到,在某一点上,两个线程都在检索同一个项。 有没有一种方法可以让两个移除器不处理同一件物品?我尝试使用迭代器,但在

  • 我需要写一个私人的方法在java接收2数组。有没有办法使他们必须是相同的长度? 比如: 公共静态无效方法(int[]arr1,int[]arr2[arr1.length])

  • 问题内容: 假设我有以下代码: 这段代码的问题在于,协程内部的循环永远不会完成第一次迭代,而大小会不断增加。 为什么会这样发生,我该怎么解决? 我无法摆脱单独的线程,因为在我的真实代码中,我使用了单独的线程与串行设备进行通信,而且我还没有找到使用的方法。 问题答案: 不是线程安全的,因此您不能直接在多个线程中直接使用它。相反,您可以使用,它是提供线程感知队列的第三方库: 还有(全披露:我写了它),

  • 问题内容: 我有Visio2007,我真的很喜欢。但是,它似乎没有Java的UML模型/数据类型。我可以为Java下载一些模板吗?还是我应该完全忘记Visio并获得一个Elipse插件? 谢谢! 问题答案: 后者是更好的选择,恕我直言。此外,我认为UML模型不应该特定于Java。我不知道周围是否有特定于Java的UML。 我在网上搜索时发现了这个。UML模型:MS Visio 2007。