您的位置:首页 > 移动开发 > Unity3D

[置顶] unity中点击屏幕2d图片的移动和旋转

2016-03-30 22:56 756 查看
  点击屏幕让2d图片移动到点击的坐标时,我们要先将点击屏幕的坐标从屏幕坐标转换为世界坐标,让他们在同一坐标下进行位置的比较。

(一):我们首先将图片的格式改为

,然后将图片拖拽到场景中。

(二):将下列代码挂在(一)的图片上。

using UnityEngine;

using System.Collections;

public class Move : MonoBehaviour

{

    private Vector3 screenPosition;//将物体从世界坐标转换为屏幕坐标

    private Vector3 mousePositionOnScreen;//获取到点击屏幕的屏幕坐标

    private Vector3 mousePositionInWorld;//将点击屏幕的屏幕坐标转换为世界坐标

    void Update () {

        screenPosition = Camera.main.WorldToScreenPoint(transform.position);

        if (Input.GetMouseButtonDown(0))

        {

            mousePositionOnScreen = Input.mousePosition;

            mousePositionOnScreen.z = screenPosition.z;

            mousePositionInWorld = Camera.main.ScreenToWorldPoint(mousePositionOnScreen);

            //根据X的位置来对物体进行旋转

            if(transform.position.x< mousePositionInWorld.x)

            {

                //利用镜像原理

                transform.localScale = new Vector3(1, 1, 1);

                

            }

            else

            {

                transform.localScale = new Vector3(-1, 1, 1);

            }

        }

        transform.position = Vector3.Lerp(transform.position, mousePositionInWorld, Time.deltaTime * 3);

    }

    

}

这样我们就实现了通过点击屏幕来控制2d图片的旋转和移动了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: