Unity脚本开发之常用工具类

一、Time类

Time时间类为开发者提供了一些在程序运行时时间上的处理函数,我们可以非常方便的提供给我们使用

在Time中提供的一些函数有:

//记录上一帧所消耗的时间,会受时间缩放的影响
public static float deltaTime { get; }

//记录从程序运行到现在的时间会受时间缩放的影响
static float time { get; }

//设置游戏里面的时间与现实世界里的时间缩放,即现实世界的时间 X 缩放比例
static float timeScale { get; set; }

//从游戏运行到现在的真实事件
static float realtimeSinceStartup { get; }

二、随机数类

随机数类为我们提供了一些随机数的函数:

static int Range(int min, int max);
//生成一个随机浮点数
st**重点内容**atic float Range(float min, float max);

三、数学运算类

在数学类中定义了我们常需要的数学计算方式,非常方便的一些数学运算。

四、四元数

四元数通常用于控制物体的旋转功能

     //控制绕某个轴旋转
      Quaternion Euler(Vector3 euler);

      Quaternion Euler(float x, float y, float z);

五、输入控制类 Input

在Unity3D中将输入控制分为3种状态,分别是按下、一直处于按下状态、抬起状态,Unity提供输入函数的类为 Input类

1、键盘的三种状态

//当按键一直处于按下状态时重复调用这个函数
 static bool GetKey(KeyCode key);

 //当按键刚按下时调用一次这个函数
static bool GetKeyDown(KeyCode key);

//当按键被按下后抬起时调用一次这个函数
static bool GetKeyUp(KeyCode key);


/*
keyCode类中定义类我们键盘上的常用按键的类型
*/

2、鼠标的三种状态


//鼠标的三种状态和键盘的按键的三种状态相同
 public static bool GetMouseButton(int button);

  public static bool GetMouseButtonDown(int button);

   public static bool GetMouseButtonUp(int button);


/*
在三个参数中传递的是一个整形数字
0 :代表鼠标的左键
1:代表鼠标的右键
2:带表鼠标的中建
*/

2、适用于触摸屏输入
在Unity中为我们定义了一个Touch类用于定义触摸屏上的输入控制

/*
Touch类中的常用属性
*/
public int fingerId { get; } //获取到当前触摸手指的编号
public Vector2 position { get; }//触摸点的位置
TouchPhase phase { get; } //当前触摸事件的类型

/*
Unity为我们提供了几种触摸类型事件
*/

    public enum TouchPhase
    {
        Began = 0,//刚开始触摸到触摸屏

        Moved = 1,//当手指触摸到屏幕上以后进行移动

        Stationary = 2,//当手指触摸在触摸屏上后并未离开,而是静止不动
        Ended = 3,//结束触摸手指离开屏幕
    }

/*
在Input类中通过一个属性来获取当前所有的触摸信息:
 Input.touches来获取所有的触摸信息。
*/

//列如:


    void OnGUI()
    {
    //循环获取当前屏幕的触摸信息
        foreach(Touch touch in Input.touches)

        {
            GUILayout.Label(string.Format("手指{0} 状态{1} 位置 {2}", touch.fingerId, touch.phase.ToString(), touch.position));
        }
    }

六、Unity调试类

在Unity中专门为我们提供了一个调试应用程序的类,在这个类中提供类在不同条件下打印不同的调试信息的方法:

Debug.Log()//打印出普通灰色的消息

Debug.LogError(); //打印出黄色警告消息

Debug.LogWarning(); //打印出红色错误消息

//在Unity程序进行编译的时候Unity内部也会根据程序的编译结果打印出相应的消息

列如 :

 void OnGUI()
    {
        if(Input.GetMouseButtonDown(0))
        {
            Debug.Log("普通消息");

        }

        if(Input.GetMouseButtonDown(1))
        {
            Debug.LogError("错误消息");
        }

        if(Input.GetMouseButtonDown(2))
        {
            Debug.LogWarning("警告消息");
        }
    }

打印结果:
、

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dropdown 是 Unity 常用的 UI 控件之一,它可以让用户通过下拉列表来选择选项。在游戏开发,我们可能需要在不同场景多次使用 Dropdown,为了提高开发效率,我们可以将 Dropdown 工具化,方便快速地创建和配置 Dropdown。 下面是实现 Dropdown 工具化的步骤: 1. 创建一个 Dropdown 预制件 首先,我们需要创建一个 Dropdown 预制件。在 Unity ,打开 Hierarchy 窗口,右键点击窗口空白处,选择 UI -> Dropdown,创建一个 Dropdown 控件。然后,将该 Dropdown 控件拖拽到 Project 窗口,创建一个新的预制件。 2. 创建一个 Dropdown 工具类 接下来,我们需要创建一个 Dropdown 工具类,用于动态创建和配置 Dropdown。在 Unity ,打开 Project 窗口,右键点击窗口空白处,选择 Create -> C# Script,创建一个名为 DropdownTool 的脚本。然后,将下面的代码复制到脚本: ```csharp using UnityEngine; using UnityEngine.UI; public class DropdownTool : MonoBehaviour { public GameObject dropdownPrefab; public Dropdown CreateDropdown(Transform parent, string[] options, int defaultIndex) { GameObject dropdownObject = Instantiate(dropdownPrefab, parent); Dropdown dropdown = dropdownObject.GetComponent<Dropdown>(); dropdown.ClearOptions(); dropdown.AddOptions(new List<string>(options)); dropdown.value = defaultIndex; return dropdown; } } ``` 该脚本定义了一个 CreateDropdown 方法,用于创建 Dropdown 控件并进行基本配置。其,参数 parent 表示 Dropdown 控件的父级节点,参数 options 表示 Dropdown 的选项列表,参数 defaultIndex 表示默认选的选项索引。 3. 在场景使用 Dropdown 工具类 最后,我们可以在场景使用 Dropdown 工具类来创建和配置 Dropdown。在 Unity ,打开一个场景,创建一个空 GameObject,并将 DropdownTool 脚本添加到该对象上。然后,将预制件拖拽到 dropdownPrefab 属性,即可完成 Dropdown 工具类的配置。 接下来,我们可以在脚本调用 CreateDropdown 方法,来创建和配置 Dropdown。例如,在 Start 方法,我们可以编写如下代码: ```csharp public class Example : MonoBehaviour { public Transform dropdownParent; public string[] options; public int defaultIndex; private DropdownTool dropdownTool; private void Start() { dropdownTool = GetComponent<DropdownTool>(); Dropdown dropdown = dropdownTool.CreateDropdown(dropdownParent, options, defaultIndex); dropdown.onValueChanged.AddListener(OnDropdownValueChanged); } private void OnDropdownValueChanged(int index) { Debug.Log("Selected option: " + options[index]); } } ``` 该脚本使用了 DropdownTool 工具类,创建了一个 Dropdown 控件,并监听了其 valueChanged 事件。当用户选择了一个选项时,会触发 OnDropdownValueChanged 方法,输出所选选项的文本内容。 至此,我们已经成功实现了 Dropdown 工具化。通过使用 Dropdown 工具类,我们可以快速地创建和配置 Dropdown,并在多个场景重复使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值