首页 > 技术文章 > Unity ContextMenu特性

Jason-c 2017-12-27 16:10 原文

有时候我们需要在编辑器下,频繁的做一些操作,比如说在不同的位置创建物体,一个个的修改坐标显然有点繁琐

这时候ContextMenu就派上用处了

例:利用 LineRenderer 画圆,我们不可能一个个的去修改 Position 

这时候就用到ContextMenu了

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

public class SetCircleData : MonoBehaviour {

    public LineRenderer LR;
    public int n;
    public float r;
    [ContextMenu("CreateCricle")]
    void CreateCricle ()
    {
        LR = this.GetComponent<LineRenderer> ();//得到组件
        LR.SetVertexCount (n + 1);//设置线的段数

        float x;
        float z;
        //循环着取出36个点
        for (int i=0; i<n+1; i++) {
            x = Mathf.Sin ((360f * i / n) * Mathf.Deg2Rad) * r;//横坐标
            z = Mathf.Cos ((360f * i / n) * Mathf.Deg2Rad) * r;//纵坐标

            LR.SetPosition (i, new Vector3 (x, 0,z));
        }
    }

}

就看在编辑器,属性面板中的小齿轮里,找到这个方法了

点击就可以生产圆了,生成后,把这个脚本去掉,圆也是存在的

 

推荐阅读