【发布时间】:2020-11-16 11:56:45
【问题描述】:
我在函数中分配值时遇到问题。这是我的代码
//Player cents
private int add_cents = 3;
public int player_1, enemy_1, enemy_2, enemy_3;
public void players_ready()
{
add_cents_player(player_1, add_cents);
}
public void add_cents_player(int player, int cent_v)
{
player = player + cent_v;
}
我希望能够调用此函数并输入活跃玩家 (player) 并将其值增加 (cent_v)。然而,玩家 = 玩家 + cent_v;正在说“给'玩家'分配了不必要的价值”,我不明白为什么。硬编码是不可能的,因为这取决于谁是活跃玩家。
【问题讨论】:
-
player在方法范围内定义。使用 ref/out(今天不太记得 C# lang..) -
int是一种值类型,这意味着player在add_cents_player方法范围之外将保持不变。
标签: c# function unity3d variables variable-assignment