美文网首页Unity开发
已知两个坐标点用预制绘制线段

已知两个坐标点用预制绘制线段

作者: 不文不武的禾文 | 来源:发表于2020-04-16 23:00 被阅读0次

以前有遇到过这个问题:已知两个坐标点绘制线段。看到这个问题的时候,第一想法是计算两点的距离、角度,通过旋转角度来解决这个问题。

但是后来才发现可以用向量来解决。

 private Transform _parentTran;
    private GameObject _line;
    private void Start()
    {
        Vector2 _startPos = new Vector2(100, 100);
        Vector2 _endPos = new Vector2(200, 200);
        //两个点的中心点(因为line的锚点是中心点,缩放或者改变大小是根据中心点变化的,
        //也可以将锚点设置为居左或者居右,就可以用开始坐标或者结束坐标来实例化GameObject)
        Vector2 _tempPos = (_startPos + _endPos) * 0.5f;
        float distance = Vector2.Distance(_endPos, _startPos);//计算两点的距离
        _line.transform.SetParent(_parentTran,false);
         RectTransform _lineRect = _line.GetComponent<RectTransform>();
        _lineRect.localPosition = _tempPos;
        //向量,终点指向起点
        _lineRect.right = (_endPos - _startPos).normalized;
        //可以设置宽度,也可以是指scale
        _lineRect.sizeDelta = new Vector2(distance, _lineRect.sizeDelta.y);
    }

解决问题的方法有很多,如果你有更好的方法,欢迎相互讨论。

相关文章

  • 已知两个坐标点用预制绘制线段

    以前有遇到过这个问题:已知两个坐标点绘制线段。看到这个问题的时候,第一想法是计算两点的距离、角度,通过旋转角度来解...

  • 判断点是否在线段的缓冲范围内

    应用场景 通过鼠标点选择线段、多段线。 已知条件 线段两端点坐标:P1[x1, y1]、P2[x2, y2]目标点...

  • 2019-08-16

    几何原本 命题1.2: 由一已知点可做一线段等于已知线段 已知:点A为已知点,BC为已知线段 求:由点A为端点作一...

  • unity绘制虚线 geometry shader

    绘制虚线其实简单。绘制线段,然后通过线段的uv坐标,设置虚线贴图就行。 或者用shader判断uv坐标决定好不要绘...

  • 判断点在线段上的投影点是否在线段内

    应用场景 多段线上找到能被投影的线段 已知条件: 线段两端点坐标:P1[x1, y1]、P2[x2, y2]目标点...

  • quartz 2D 使用

    绘制一条线段: 获取图形上下文 移动到起点 添加另一点 渲染screenshot.png 绘制两条线段 用UIBe...

  • 43. 线段绘制

    本文解释线段绘制,并通过线段绘制出三角形 线段与线段构成的三角形如下:

  • 命题1.3

    几何原本 命题1.3: 已知两条不相等的线段,可在较长的线段上截取一条线段等于较短的一条 已知:AB,C两条线段,...

  • Java Grapgics

    绘制线段和文字

  • 绘制线段

    绘制线段 [self setNeedsDisplay]该方法可调用drawRect - (void)drawRec...

网友评论

    本文标题:已知两个坐标点用预制绘制线段

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