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

在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])

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

  • 问题内容: 在Python中,我已经看到使用此语法交换了两个变量值: 这是否被认为是交换两个变量值的标准方法,还是有其他一些习惯上最常用的交换两个变量的方法? 问题答案: Python从左到右计算表达式。请注意,在评估分配时,右侧的评估先于左侧。 http://docs.python.org/3/reference/expressions.html#evaluation-order 这意味着该表达