unity的public在属性面板修改的实时性

来源:互联网 发布:淘宝详情图尺寸是多少 编辑:程序博客网 时间:2024/06/16 00:46

unity的公共变量是会出现在属性面板的。今发现,面板中对公共变量的改动会是实时的改动。好深奥的说法,是不是没有理解。好吧,来个例子就明白了。


例如场景中放一个cube,进行两个测试,一个是改变整个cube的颜色,另一个就是写一个字符串。过一会这两个都要在属性面板进行。


写上一段代码并且绑定到cube上。代码如下:


using UnityEngine;using System.Collections;public class testdevice : MonoBehaviour {    public string word = "我哒哒的马蹄是个美丽的错误";    public Color changecolor=Color.blue;// Use this for initializationvoid Start () {        this.GetComponent<MeshRenderer>().material.color=changecolor;}// Update is called once per framevoid Update () {        if (Input.GetMouseButton(0))        {                        this.GetComponent<MeshRenderer>().material.color = changecolor;            Debug.Log(word);        }}}


绑定好之后看看我们的属性面板,如下图:



运行之后,颜色会是蓝色,这也正是我们定义的颜色。如图:


然后点击鼠标左键,会看到出现了log文字,这些文字也是我们代码中的文字完全一样:



---------------------------------------------至此都是我们没有在属性面板修改的东西----------接下来要进行修改来了--------------------------------------


在非运行状态下对颜色和文字进行修改:




然后进行运行看到颜色的初始化已经被修改了,这时文字也被修改了只是还么有看到,如下图:




接下来点击一下看文字也被修改了,说明我们在属性面板的修改会修改我们初始化的内容,如下图:




然后在运行状态下把文字修改为78,颜色改为粉色,再点击鼠标,我们会看到,都被修改了。如下图:





说明属性面板里的值的修改具有实时性,修改这里的值unity就可以立马获得属性面板里的数据。



阅读全文
1 1
原创粉丝点击