美文网首页
射线+获取当前Animator动画片段名字+双击+获取时间+Sc

射线+获取当前Animator动画片段名字+双击+获取时间+Sc

作者: 带着面包去流浪 | 来源:发表于2018-04-19 16:39 被阅读0次

    //射线检测

    RaycastHit hit;

    void Update () {

    if (Input.GetMouseButtonDown(0)) {

    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

    if (Physics.Raycast(ray, out hit)) {

    if (hit.transform.tag.Equals("Player")) {

    Animator ani = hit.transform.GetComponent<Animator>();

                        if (ani.GetCurrentAnimatorStateInfo(0).IsName("Idle")) {

                            ani.SetTrigger("ToClick");

                        }

                    }

                }

            }

       }


    双击功能

    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;

    public class DoubleClick : MonoBehaviour

    {

        //双击功能的实现

        RaycastHit hit;

        Ray ray;

        float clickTimer1, clickTimer2;

        //实现双击功能的物体

        public Transform clickTrans;

        void Update()

        {

            if (Input.GetMouseButtonDown(0))

            {

                ray = Camera.main.ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit))

                {

                    if (hit.transform.name == clickTrans.name)

                    {

                        clickTimer2 = Time.realtimeSinceStartup;

                        if (clickTimer2 - clickTimer1 < 0.2f)

                        {

                            print("double click ");

                        }

                        clickTimer1 = clickTimer2;

                    }

                }

            }

        }

    }


    获取当前时间

    void Start () {

            string nowTime = DateTime.Now.ToString("yyyy-MM-dd HH: mm: ss");

            string nowTime1 = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");

            print(nowTime);

            print(nowTime1);

        }


    public Image image;

      public  ScrollRect scrollRect;

        void Awake() {

    //不规则按钮点击

            image.alphaHitTestMinimumThreshold = 0.1f;

            //alpha阈值指定一个像素必须具有的最小alpha,以便事件被视为图像上的“命中”。

            //当alpha小于赋值的值0.1的的时候,图片无法进行点击检测

    实现点击不规则按钮功能时(image.alphaHitTestMinimumThreshold = 0.1f)需要将图片设置如下:(在Advanced 下勾选 Read/Write Enabled )

    //ScrollView 界面初始化

            scrollRect.verticalNormalizedPosition = 1;

            //垂直滚动位置,值介于0和1之间,0位于底部。

            //scrollView 的垂直滚动,可用于初始化scrollView的垂直展示

        }


    Texture2D旋转

    Texture2D RotateTexture(Texture2D texture, float eulerAngles)

        {

            int x;

            int y;

            int i;

            int j;

            float phi = eulerAngles / (180 / Mathf.PI);

            float sn = Mathf.Sin(phi);

            float cs = Mathf.Cos(phi);

            Color32[] arr = texture.GetPixels32();

            Color32[] arr2 = new Color32[arr.Length];

            int W = texture.width;

            int H = texture.height; int xc = W / 2;

            int yc = H / 2;

            for (j = 0; j < H; j++)

            {

                for (i = 0; i < W; i++)

                {

                    arr2[j * W + i] = new Color32(0, 0, 0, 0);

                    x = (int)(cs * (i - xc) + sn * (j - yc) + xc);

                    y = (int)(-sn * (i - xc) + cs * (j - yc) + yc);

                    if ((x > -1) && (x < W) && (y > -1) && (y < H))

                    {

                        arr2[j * W + i] = arr[y * W + x];

                    }

                }

            }

            Texture2D newImg = new Texture2D(W, H);

            newImg.SetPixels32(arr2);

            newImg.Apply();

            return newImg;

        }

    相关文章

      网友评论

          本文标题:射线+获取当前Animator动画片段名字+双击+获取时间+Sc

          本文链接:https://www.haomeiwen.com/subject/eqgwkftx.html