Processing项目调用其他类方法报错:steuerungH()不存在
解决调用
steuerungH()时报错的问题 看起来你把对象的所属类搞混啦!咱们一步步理清楚:
核心问题
你报错的原因很明确:h1这个对象根本不是Steuerung类的实例。你说h1.displayH()能正常运行,说明h1属于另一个类(比如你定义的某个带displayH()方法的类,比如Spieler或者Hintergrund类),而steuerungH()是Steuerung类独有的方法,所以用h1去调用当然会提示“函数不存在”。
两种解决思路
思路1:创建Steuerung类的实例并调用
既然你已经写了Steuerung类,那你需要先在main Tab里创建这个类的对象,再调用它的方法:
// 在main Tab的全局位置或者setup()方法里创建Steuerung实例 Steuerung meinSteuerung = new Steuerung(); void draw() { background(); h1.displayH(); t1.displayT(); // 调用Steuerung实例的方法 meinSteuerung.steuerungH(); }
思路2:把steuerungH()移到h1所属的类里
如果你希望控制逻辑和h1代表的对象绑定(比如h1是玩家对象,控制它移动),那直接把Steuerung类里的steuerungH()代码复制到h1所属的类中,这样h1.steuerungH()就能正常调用了。
额外提醒:你的Steuerung类里有个小bug
注意这段代码里的多余分号:
if (playerYPosition >= 30); { speed = speed *-1; }
这里的分号会让if的条件判断直接结束,后面的代码块不管playerYPosition是否满足条件都会执行,这肯定不是你想要的效果,记得把那个多余的分号删掉!
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

