Unity的button脚本及MaterialPropertyBlock使用、C#数组转list
来源:互联网 发布:人工智能等级 编辑:程序博客网 时间:2024/06/13 06:10
http://blog.csdn.net/zuoyamin/article/details/17261361
MaterialPropertyBlock props;
private List myRenderer=new List();
props = new MaterialPropertyBlock();
Renderer[] rd =GameObject.FindObjectsOfType();
myRenderer =new List(rd);
props.SetFloat(“_ColliderForce”, 0);
foreach(Renderer render in myRenderer)
render.SetPropertyBlock(props);
上面的脚本会把他所在场景所有其他物体属性都修改
当然,也可以每个物体挂一个脚本一个shader,只控制该物体本身的。
props.SetFloat(“_ColliderForce”, 0);
foreach(Renderer render in myRenderer)
render.SetPropertyBlock(props);
同一个物体上挂两个材质球也是好使的,两个材质球的”_ColliderForce”这个属性都会被修改
using UnityEngine;
using System.Collections;
public class Button1 : MonoBehaviour
{
public Texture img;private Texture img0;private string info;//显示的信息/ private int frameTime;//记录按下的时间/ MaterialPropertyBlock props;private Renderer myRenderer;void Start(){ //初始化/ info = "请您点击按钮"; frameTime = 0; props = new MaterialPropertyBlock(); myRenderer = GetComponent<Renderer>();}void OnGUI(){ //标签/ GUI.Label(new Rect(50, 10, 200, 20), info); //普通按钮,点击后显示Hello World if (GUI.Button(new Rect(150, 100, 200, 20), "lyg设为0")) { //info = "Hello World"; props.SetFloat("_ColliderForce", 0); myRenderer.SetPropertyBlock(props); info = "您点击了图片按钮,shewei0"; Debug.Log("设置为0"); } //标签/ //GUI.Label(new Rect(280, 10, 200, 200), img0); //图片按钮,点击后显示图片/ //if (GUI.Button(new Rect(280, 250, 200, 200), img)) //{ // img0 = img; // props.SetFloat("_ColliderForce", 1); // myRenderer.SetPropertyBlock(props); // info = "您点击了图片按钮,shewei1"; //} //标签/ //GUI.Label(new Rect(500, 10, 200, 20), "持续按下的时间:" + frameTime); //连续按钮,点击后显示按下的时间/ if (GUI.Button(new Rect(380, 100, 200, 20), "lyg设为1")) { //frameTime++; props.SetFloat("_ColliderForce", 1); myRenderer.SetPropertyBlock(props); //info = "您点击了图片按钮,shewei1"; info = "您按下了连续按钮,shewei0"; Debug.Log("设置为1"); } //每当鼠标按下时将frameTime重置,一遍进行下次记录/ if (Input.GetMouseButtonDown(0)) { frameTime = 0; }}
}
阅读全文
0 0
- Unity的button脚本及MaterialPropertyBlock使用、C#数组转list
- 【Unity】Unity中使用C#脚本调用JS脚本的使用方法
- Unity内置编译器MonoDevelop C#脚本 中文的使用
- Unity中Button的颜色如何用脚本改变
- Unity的安卓上的移动C#脚本
- C# :自己动手实现:使用数组的方式实现List
- C# List的使用
- unity C#脚本规则
- Unity 中的C#脚本
- Unity C# 脚本教程
- Unity 中的C#脚本
- unity C#脚本生命周期
- Unity X C#小记之使用List与string的搭配
- C#开发Unity游戏教程之Scene视图与脚本的使用
- StringUtils的使用,数组转list,list转数组
- Unity使用C#的多线程
- C#开发Unity游戏教程之使用脚本变量
- 使用vs调试unity脚本的方法
- ARM实习面试总结
- IDEA常用的一些快捷键:
- 【PAT甲级】1071. Speech Patterns (25)
- 内核参数列表
- Java集合fail-fast
- Unity的button脚本及MaterialPropertyBlock使用、C#数组转list
- HashMap工作原理
- js将一个数组添加进另一个数组
- pro_dw_pcauto_month
- Unity3D游戏开发之SQLite让数据库开发更简单
- C++基础入门
- Get与Post,客户端跳转与服务器端跳转
- Java学习之判断某一时间是否在指定时间段内
- IntelliJ IDE Spark程序开发