zoukankan      html  css  js  c++  java
  • swich的封装方法

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class RandomCube : MonoBehaviour
    {
    public GameObject[] prefabs;
    List<GameObject> objs = new List<GameObject>();
    public Material redmat;
    public Material bluemat;
    public Material greenmat;
    private Dictionary<KeyCode, int> dic;
    void Start ()
    {

    dic = new Dictionary<KeyCode, int>()
    {
    { KeyCode.U,LayerMask.GetMask("Red")},
    { KeyCode.M,LayerMask.GetMask("Blue")},
    { KeyCode.N,LayerMask.GetMask("Green")}
    };
    int n = Random.Range(5, 10);
    for (int i = 0; i < n; i++)
    {
    GameObject prefab = prefabs[i % prefabs.Length];
    Vector3 pos = Random.insideUnitSphere * 10;
    GameObject obj = Instantiate(prefab,pos,Quaternion.identity);
    objs.Add(obj);
    }
    }

    void Update () {
    ShowRed();
    ShowBlue();
    ShowGreen();

    }

    private void ShowGreen()
    {
    Key2Color(KeyCode.N, greenmat);
    }

    private void ShowBlue()
    {
    Key2Color(KeyCode.M, bluemat);
    }

    private void ShowRed()
    {
    Key2Color(KeyCode.U, redmat);
    }

    public void Key2Color(KeyCode key,Material mat){
    if (Input.GetKeyDown(key))
    {
    //foreach (GameObject o in objs)
    //{
    // Material omat = o.GetComponent<MeshRenderer>().material;
    // o.SetActive(omat.color == mat.color);
    //}
    if(dic.ContainsKey(key))
    Camera.main.cullingMask = dic[key];
    }

    }


    }

  • 相关阅读:
    写日志文件
    内存文件映射应用举例『转』
    HOOK编程
    获取当前进程的名称
    C++实现FTP文件传输
    C/C++ 实现windows进程/线程/模块 遍历
    Unicode下的CString与char *转换
    MFC常用基本数据类型
    geos 3.6.1编译 win7 vs2015
    JQuery Mobile iscroll插件使用教程及注意事项
  • 原文地址:https://www.cnblogs.com/StevenChancxy/p/8675829.html
Copyright © 2011-2022 走看看