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

来源:互联网 发布:java小项目开发 编辑:程序博客网 时间:2024/06/06 19:29

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


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


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


[csharp] view plain copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class testdevice : MonoBehaviour {  
  5.     public string word = "我哒哒的马蹄是个美丽的错误";  
  6.     public Color changecolor=Color.blue;  
  7.     // Use this for initialization  
  8.     void Start () {  
  9.         this.GetComponent<MeshRenderer>().material.color=changecolor;  
  10.     }  
  11.       
  12.     // Update is called once per frame  
  13.     void Update () {  
  14.         if (Input.GetMouseButton(0))  
  15.         {  
  16.               
  17.             this.GetComponent<MeshRenderer>().material.color = changecolor;  
  18.             Debug.Log(word);  
  19.         }  
  20.     }  
  21. }  


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



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


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



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


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




艺星整形 http://www.iyestar.com/

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




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

原创粉丝点击