【Unity2D】在点击放置游戏中,如何限制物品的放置条件?比如不能重叠放置、只能在某一范围放置等

本文介绍了在Unity2D游戏中如何限制物品的放置条件。通过创建一个带有碰撞体的空物体来限定放置范围,并设置碰撞体的Is Trigger属性。同时,为防止物品重叠,可以通过为每个放置物体添加子物体来标记不可重叠区域,以此进行判断和限制。
摘要由CSDN通过智能技术生成

如何限制在某一范围内放置?

  • 首先在场景中新建一个空物体。
  • 然后添加Sprite Renderer组件,拖进一张类似放置范围形状的图片,样子无所谓,因为透明度可以设成0,添加碰撞体后还可以删掉。
  • 接着添加碰撞体,碰撞体类型也是根据放置范围的形状需要,并将碰撞体的Is Trigger属性勾选上。

  • 可以开始写代码了,核心代码如下:
    public Collider2D boardA;               // 表示范围的物体引用

    private Vector2 generatePosition;       // 生成位置
    private Bounds boundsA;                 // 范围边界
    private bool isInsideBoundA;            // 判断是否在范围内触碰屏幕

        boundsA = boardA.bounds;            // 获取范围边界

        if (Input.GetMouseButtonDown(0))
        {
            generatePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            isInsideBoundA = boundsA.Contains(generatePosition);    // 核心语句

            if (isInsi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值