Unity 实用教程 之 绘制2D游戏矩形攻击范围线

 时间:2026-02-13 02:45:14

1、打开Unity,新建一个空工程,具体如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

2、在场景中添加  Cube,并把视图改为2D,布局如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

3、在工程中,新建一个脚本,命名为 DrawRectangle2D,并右键脚本 Open  C# Project 打开,具体如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

4、在打开的脚本上编写代码,具体代码和代码说明如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

5、脚本具体内容如下:

using UnityEngine;

public class DrawRectangle2D : MonoBehaviour {

// Update is called once per frame

void Update () {

        if (Input.GetKeyDown(KeyCode.A)) {

            ToDrawRectangle2D(transform, 1, 4, 3);

        }

}

    private static LineRenderer GetLineRenderer(Transform t)

    {

        LineRenderer lr = t.GetComponent<LineRenderer>();

        if (lr == null)

        {

            lr = t.gameObject.AddComponent<LineRenderer>();

        }

        lr.startWidth = 0.1f;

        lr.endWidth = 0.1f;

        return lr;

    }

    //绘制空心长粒信块方形2D  

    //distance指的是这个长方形与Transform t的中心点的距离  

    public static void ToDrawRectangle2D(Transform t, float distance, float length, float width){

        LineRenderer lr = GetLineRenderer(t);

        lr.positionCount = 5;

        if (IsFacingRight(t))

   悦特     {

            Vector2 forwardMiddle = new Vector2(t.position.x + distance, t.position.y);

            lr.SetPosition(0, forwardMiddle + new Vector2(0, width / 2));

            lr.SetPosition(1, forwardMiddle + new Vector2(length, width / 2));

            lr.SetPosition(2, forwardMiddle + new Vector2(length, -width / 2));

           盆选 lr.SetPosition(3, forwardMiddle + new Vector2(0, -width / 2));

            lr.SetPosition(4, forwardMiddle + new Vector2(0, width / 2));

        }

        else

        {

            Vector2 forwardMiddle = new Vector2(t.position.x - distance, t.position.y);

            lr.SetPosition(0, forwardMiddle + new Vector2(0, width / 2));

            lr.SetPosition(1, forwardMiddle + new Vector2(-length, width / 2));

            lr.SetPosition(2, forwardMiddle + new Vector2(-length, -width / 2));

            lr.SetPosition(3, forwardMiddle + new Vector2(0, -width / 2));

            lr.SetPosition(4, forwardMiddle + new Vector2(0, width / 2));

        }

    }

    public static bool IsFacingRight(Transform t){

        if (t.localEulerAngles.y > 0) return false;

        else return true;

    }

}

6、脚本编译正确,回到Unity界面,把脚本赋给 Cube,具体如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

7、运行场景,然后按下 A 键,2D游戏的矩形范围攻击线绘制出来,具体如下图

Unity 实用教程 之 绘制2D游戏矩形攻击范围线

8、到此,《Unity 实用教程 之 绘制2D游戏矩形攻击范围线》讲解结束,谢谢

  • 如何用ps制作逼真的云雾漂移动画
  • wpf 如何使用cefsharp
  • PS如何制作字体分割效果
  • PS如何选择文件的打开方式#校园分享#
  • 手绘板如何画水彩画
  • 热门搜索
    大同旅游地图 丰宁坝上草原旅游攻略 深圳附近的旅游景点 广西旅游局 英国旅游签证材料 欧洲旅游地图 扎尕那旅游攻略 旅游体验师招聘 旅游业可持续发展 巴马旅游网