管理统一UI的最佳方法



我开发游戏已经快一年了,但UI元素的代码是我游戏开发中最痛苦的部分。制作UI很容易,尽管要做很多工作,但我似乎在一遍又一遍地写同样的代码。这里有一些代码示例,可以帮助您理解我试图向您传达的

public Slider volume; //let suppose i have too many sliders
public float volume_val;
private Toggle soundToggler;// let suppose i have too many Toggle
public bool isMuted;
private Text coinText; // let suppose i have too many Text
public float coins;
// let suppose i have too many XYZ fields
private void Awake ()
{
volume_val = PlayerPrefs.GetFloat ("volume_val");
volume.value = volume_val;
volume.onValueChanged.AddListener ( (newVolume) => {
volume_val = newVolume;
PlayerPrefs.SetFloat ("volume_val", volume_val);
});
isMuted = PlayerPrefs.GetInt ("isMuted") == 1 ? true : false;
soundToggler.isOn = isMuted;
soundToggler.onValueChanged.AddListener ((newVal)=> {
isMuted = newVal;
PlayerPrefs.SetInt ("isMuted", isMuted ? 1 : 0);
});

coins = PlayerPrefs.GetFloat ("coins");
coinText.text = coins;
// update text on value update
}

正如你从代码中看到的,我一遍又一遍地重复相同的代码,有什么通用的方法可以做到这一点吗?

编写一个干净高效的代码是一门艺术,只有通过实践才能学会。

在统一开发时,您可以遵循一些实践,而不仅仅限于ui开发。。

1.为了提高代码的可读性,您应该遵循命名标准。这也将使您的代码更加干净,任何更改都很容易。

2.为脚本中的每个任务创建方法。这将提高代码的可读性。用Awake编写所有ui代码并不是一种很好的统一编程实践。

3.您的代码应该是松散耦合的、模块化的和可扩展的。

4.试试SOLID原则和设计原则,这将对程序员有很大帮助,也会使您的代码干净、可扩展和模块化。它对调试也有很大帮助。互联网上有很多资源可以用来学习和统一实施这些原则。

针对您的问题,这篇文章可能会对您有所帮助。您还可以使用表达式主体定义使代码更可读、更简洁。

相关内容

  • 没有找到相关文章

最新更新