游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   刘彦磊

两个坐标系映射 热度 1

个人分类: Unity 脚本 | 2018-5-12 11:19
标签:坐标映射
0 个评论 | 阅读 206 | 收藏 | 举报
一直对坐标系映射不是很熟悉 , 抽空研究下 这里做个记录。  比如我想把 一个 小的坐标里面的各个点 映射到大的坐标里面。

忽略 这画图的粗略。    把红色坐标系 映射到 黄色坐标系。   红色坐标系 宽高是  576*324     黄色的是  1920*1080  
代码起来

[code]csharpcode:

/********************************************************************
	created:	2018/05/12
	created:	12:5:2018   11:11
	filename: 	F:\Research\CanYing\Assets\Control.cs
	file path:	F:\Research\CanYing\Assets
	file base:	Control
	file ext:	cs
	author:		LiuYanLei
	
	purpose:	将小区域的坐标系映射到大区域的坐标系   大区域坐标系这个代码为 1920 *1080 
*********************************************************************/

using UnityEngine;
using System.Collections;

public class Control : MonoBehaviour {

    public GameObject go;

    public int smallWidth=576;    //小的映射区域宽度
    public int smallHeight=324;   //小的映射区域高度

    private int minx;       //最小的映射区域范围坐标值
    private int miny;
    private int maxx;
    private int maxy;
    // Use this for initialization
    void Start ()
    {
        minx = 1920 / 2 - smallWidth / 2;
        miny = 1080 /2-smallHeight / 2;
        maxx = 1920 / 2 + smallWidth / 2;
        maxy = 1080 + smallHeight / 2;
	}
	
	// Update is called once per frame
	void Update ()
    {
       if(Input.GetKeyDown(KeyCode.A))
        {
            Debug.Log(transform.position);
        }	

        if(Input.GetButtonDown("Fire1"))
        {
            if(Input.mousePosition.x>=minx && Input.mousePosition.x<=maxx && Input.mousePosition.y>=miny && Input.mousePosition.y<=maxy)
            {
                Debug.Log("点击坐标:"+ (Input.mousePosition.x- minx)  + ": "+ (Input.mousePosition.y-miny));

                float X = 1920 * (Input.mousePosition.x - minx) / smallWidth;
                float Y = 1080 * (Input.mousePosition.y - miny) / smallHeight;
                Debug.Log(X+":"+Y);
                GameObject obj=Instantiate(go,new Vector3(X,Y,0),go.transform.rotation) as GameObject;
                obj.transform.parent = transform.parent;
            }
        }
	}
}

1 0

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

返回顶部