Unity探索地块通路设计分析 & 流程+代码具体实现

⭐️前言引入:

  • 比方说我们有下面一张地图(概念设计图)需要探索

⭐️游戏背景:

  1. 主堡位于地图最右侧中央,怪从左侧生成。
  2. 我们通过挖地块生成小路影响怪的路径,通过建造塔抵御怪的入侵。
  3. 已经挖开的路是小怪的移动范围,尚未挖开的部分地块可以放置想要的塔。
  4. 部分地块有概率获得特殊奖励/彩蛋,塔和不同的地块可设计不同的元素交互(这里不便做具体展开,大家可以自行脑补)
  5. 我们的目的是成功抵御多个波次的怪物攻击,成功守住我们的主堡。

⭐️具体功能模块说明:

  • 当前探索到的某个地块会有一个标识,如果这是一个可挖地块的话,我们点击标识,会出现2~3个小三角箭头,点击某个箭头,所指向的地块如果是可挖地块的话,就会变成通路。
  • 我们所要设计的就是实现这样的一个想法或者说是功能,并将其拓展成一个可供外部调用的通用接口

⭐️设计思路:

  • 起点没有地块覆盖,是通路,用一个小特效图片作为标识,通过点击任意朝向的箭头,可以把箭头指向的地块变为通路。
  • 这个变的过程其实就是切换一张图片,并且要将上一个地块的箭头隐藏并显示出下一个地块的箭头。
  • 这里有一个重要的点,我们要保证生成的通路是连续的,比如上一张的纹理是竖着的,下一张的要和它连贯,遇到弯路的时候,还要显示弯曲的路,这就要进行两次判断,第一次判断要和上一张连贯,第二次判断要和前后两张连贯

⭐️实现效果:

⭐️实现过程:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class chufa : MonoBehaviour
{
    public GameObject Stick, changeStick;
    public GameObject btn1, btn2;
    public GameObject btn_stick1, btn_stick2;
    public Image sr;
    public Sprite[] pic;

    void Start () { 
        sr = GetComponent<Image>();
        Button btn = Stick.GetComponentInChildren<Button>();
        btn.onClick.AddListener (OnStartButtonClick);
    }

    public void OnStartButtonClick()
    {
        Debug.Log("哈哈哈哈!看,你好像是个憨憨!!");
        changeStick.GetComponent<Image>().sprite = pic[0];

        btn_stick1.SetActiveRecursively(false);
        btn_stick2.SetActiveRecursively(false);

        btn1.SetActiveRecursively(true);
        btn2.SetActiveRecursively(true);
    }

    public void TransRoad() 
    {
        //...
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米莱虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值