Java 从另一个类调用函数

Java 从另一个类调用函数,java,function,processing,Java,Function,Processing,我正在为一个学校项目写一个小程序。主题是客观编码,因此在主选项卡中有绘制方法和设置方法。在其他选项卡中,我编写了其他类和函数 在我的主选项卡中有一个函数void draw,它如下所示: 无效抽取{ 出身背景 h1.h; 斯特伦; t1.t; } 三种方法背景;,h1.h;t1.t;工作没有问题。我试着像这样编写代码: ... ... h1.struerungh; ... h1是一个对象,一个我试图用函数void steuerungH;,移动的

我正在为一个学校项目写一个小程序。主题是客观编码,因此在主选项卡中有绘制方法和设置方法。在其他选项卡中,我编写了其他类和函数

在我的主选项卡中有一个函数void draw,它如下所示:

无效抽取{ 出身背景 h1.h; 斯特伦; t1.t; } 三种方法背景;,h1.h;t1.t;工作没有问题。我试着像这样编写代码:

... ... h1.struerungh; ... h1是一个对象,一个我试图用函数void steuerungH;,移动的矩形;,但总有一个错误是这样说的:

函数steuerungH不存在

我不确定问题到底是什么,因为我在其中编写函数的类void steuerungH;看起来很像其他人

浮子重力=0.1; 浮动速度=0; 斯特隆班{ 斯泰伦格酒店{ 如果键==向上| |键=='w'{ PlayerPosition=PlayerPosition+速度; 速度=速度+重力; 如果PlayerPosition>=30{ 速度=速度*-1; } }如果键==向下| |键=='s'{ /*烤鸭法*/ }如果key==RIGHT | | key=='d'{ playerXPosition=playerXPosition+10; }如果键==左| |键=='a'{ playerXPosition=playerXPosition-10; } } }
首先,你应该考虑playerXPosition和playerposition。创建一个具有属性playerXPosition和playerYPosition以及方法struerungh的类播放器不是更好吗

职业选手{ 浮子重力=0.1; 浮动速度=0; 浮动播放位置; 浮球位置; // [...] 斯泰伦格酒店{ 如果键==向上| |键=='w'{ PlayerPosition=PlayerPosition+速度; 速度=速度+重力; 如果PlayerPosition>=30{ 速度=速度*-1; } }如果键==向下| |键=='s'{ /*烤鸭法*/ }如果key==RIGHT | | key=='d'{ playerXPosition=playerXPosition+10; }如果键==左| |键=='a'{ playerXPosition=playerXPosition-10; } } } 无论如何,如果要保留当前设计,则必须选择以下选项来解决此问题:

创建Steuerung的实例。e、 g

Steuerung s=新Steuerung; 抽真空{ // [...] s、 斯特劳伦; // [...] } 另一个选择是:

由于在全局命名空间中提供函数,因此可以将steuerungH转换为函数:

浮子重力=0.1; 浮动速度=0; 斯泰伦格酒店{ // [...] } 抽真空{ // [...] 斯特劳伦; // [...] }
您必须创建一个新的Steuerung对象,如下所示

Steuerung steuerung = new Steuerung();
然后可以使用

steuerung.steuerungH();
当你这么做的时候

steuerungH();

Java将在主类中查找不存在的steuerungH方法,因此会抛出错误。

这是什么语言,Java?您是否尝试过在主类中初始化Steuerung类的构造函数,并在该构造函数上调用steuerungH?@OnurÇevik请阅读标记信息!。是一本灵活的软件速写本,也是一种学习如何在视觉艺术背景下编写代码的语言。哦,我的错。我以为标签和别的东西有关。无论如何,我觉得这个问题与从主类调用另一个类的函数有关,而不初始化主类中的类对象。检查此项:@rabbi76非常感谢,错误已经消失,并且似乎可以正常工作。但是,即使我可以启动这个项目,这个功能仍然很强大;不做我期望它做的事情移动另一个类中的对象。@Rabbid75我认为它应该是全局变量,它们不在任何类中,它们就这样存在:float playerXPosition;浮球位置;花球宽度;浮球演奏者;