我正在尝试制作一个迷你高尔夫游戏。我正在尝试执行一个本地多人游戏功能。我希望每个玩家都有自己的颜色,目前,我有三个:红色,蓝色和黄色。颜色是由球员比赛的顺序决定的,我使用网格渲染器来改变球的颜色,我使用线渲染器来改变球前面的线的颜色。我没有得到错误,但是颜色没有改变,它保持我在编辑器中给它的颜色。
private void SetupPlayer(){
ball.SetupBall(playerRecord.playerColors[playerIndex]);
playerNameText.text = playerRecord.playerList[playerIndex].name;
}
public void SetupBall(Color color){
transform.position = startPosition.position;
angle = startPosition.rotation.eulerAngles.y;
ball.velocity = Vector3.zero;
ball.angularVelocity = Vector3.zero;
GetComponent<MeshRenderer>().material.SetColor("Color", color);
line.material.SetColor("Color", color);
line.enabled = true;
putts = 0;
puttText.text = "PUTTS: " + putts.ToString();;
}
用"_Color"
代替"Color"
。
文档:https://docs.unity3d.com/ScriptReference/Material.SetColor.html