您的位置:首页 > 其它

每日一博

2014-10-22 17:50 155 查看
记住你从unity 的面板看到的trsform 都是 local****的,比如localPosition~等等,

在用Prefab 创建一个对象时候要注意,先设定对象的parent然后再改变他的local****这样能避免一些错误。

如何知道Unity程序是否在运行中?

使用Application.isPlaying 来判断! 这样我们可以将在unity Editor中非运行时使用的代码和运行时候区分开来。

譬如之前说到的Material的颜色问题,如果我使用一个脚本来存储控制Material的颜色,如果直接在非运行态使用

MeshRenderer.material.color = _color; 的话将会将当前TextMesh 的material改为(instance)当前material实例,这样可以使用吗?当然是不行的,当我们运行程序时候就会发现TextMesh的material就会丢失。

所以可以知道的是这代码只能在运行态使用。

如果想在非运行态下面浏览颜色的状态,就得使用 GetComponent<MeshRenderer>().sharedMaterial.color = _color; 但是这段代码直接改变源material的颜色,然而这段代码如果在运行时候使用就会发生不可预测的错误(颜色不可控制)。

解决方法当然是在运行和非运行态使用不同的代码了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: