gpt4 book ai didi

java - 将参数值作为变量值传递

转载 作者:行者123 更新时间:2023-12-01 14:47:24 26 4
gpt4 key购买 nike

基本上,我正在制作一款需要为角色添加生命值的游戏。当玩家击中蜘蛛的命中框时,我希望健康状况发生变化并重新绘制框架。我觉得我做得对。这是我的代码:

Frame.java:

public static int redHealth;
public static int blueHealth;

public static void getBlueHealth(int health) {
health = redHealth;
}

public static void getRedHealth(int health) {
health = blueHealth;
}

// Create health labels
public static JLabel redHealthLabel = new JLabel("Health: " + redHealth);
public static JLabel blueHealthLabel = new JLabel("Health: " + blueHealth);

Key.java:

if (Frame.spiderObj.intersects(Frame.blueCharacterObj)) {
System.out.println("hit spider");
Frame.getBlueHealth(97);
Frame.frame.repaint();
System.out.println(Frame.redHealth + "" + Frame.blueHealth);
}

如您所见,我将 97 作为参数传递给 getRedHealth()getBlueHealth() 方法,即然后设置为等于 redHealthblueHealth。但是,当我运行游戏并击中蜘蛛时,它会打印出 hit Spider 但不会更新生命值。

有什么帮助吗???

最佳答案

你的大问题是你试图“通过引用传递”来填充health而不是实际返回它。

应该是:

public static int getBlueHealth() {
return blueHealth;
}

另外:您可能不需要 getter,因为 bluehealth 已经是 public static

即使您可以通过引用传递,使用常量调用它也会失败。从您的调用代码中不清楚您是否需要 getter 或 setter。

关于java - 将参数值作为变量值传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com