用UGUI制作手游新手指引-创新互联

因为这几天工作上的需要,研究了下用UGUI制作新手指引。可以实现这个效果的方法有很多,都用了一遍,最后还是感觉这个方法比较好。我们需要创建一个画布,然后在画布下创建需要新手指引用到的按钮,

成都创新互联公司是一家专注于网站制作、成都网站建设与策划设计,梨树网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:梨树等地区。梨树做网站价格咨询:18982081108用UGUI制作手游新手指引

然后在需要新手指引的按钮上加2个组件,一个是 Graphic Raycaster 和Canvas ,Graphic Raycaster是用来是否接受可以交互的,Canvas是改变显示的,记得我们这里需要一个遮罩,就用一个Image来做吧

然后我们给这个4个按钮都加上这2个组件,因为这里我是测试所以我需要一运行游戏就有一个按钮是高亮状态,所以我这里用代码控制了下,然后我们这里还需要一个新手指引里面的手势指示,这个是实例化出来的。

绑定脚本UI控制器里面效果图

用UGUI制作手游新手指引

下面是测试代码:

using UnityEngine;

using UnityEngine.UI;

using System.Collections;

using System.Collections.Generic;

public class NewbieGuideTest : MonoBehaviour

{

  public bool IsGuider = false;

  public Image Instructions;

  public List<Button> GuideBtn;

  void Start()

  {

    Image go = GameObject.Instantiate(Instructions) as Image;

    go.transform.SetParent(GuideBtn[0].transform);

    go.transform.localPosition = Vector3.zero;

    go.transform.localScale = Vector3.one;

    //GuideBtn[0].GetComponent<Canvas>().overrideSorting = true;

    GuideBtn[0].GetComponent<Canvas>().sortingOrder = 4;

  }

  public void BeginGuide(int value)

  {

    switch (value)

    {

      case 0:

        Destroy(GameObject.Find("InstructionsImage(Clone)"));

        ChangGuideBtn(value);

        GenerateInstructions(value);

        break;

      case 1:

        Destroy(GameObject.Find("InstructionsImage(Clone)"));

        ChangGuideBtn(value);

        GenerateInstructions(value);

        break;

      case 2:

        Destroy(GameObject.Find("InstructionsImage(Clone)"));

        ChangGuideBtn(value);

        GenerateInstructions(value);

        break;

      case 3:

        break;

    }

  }

  public void GenerateInstructions(int value)

  {

    Image go = GameObject.Instantiate(Instructions) as Image;

    go.transform.SetParent(GuideBtn[value+1].transform);

    go.transform.localPosition = Vector3.zero;

    go.transform.localScale = Vector3.one;

  }

  public void ChangGuideBtn(int value)

  {

    GuideBtn[value].GetComponent<Canvas>().overrideSorting = false;

    GuideBtn[value].GetComponent<Canvas>().sortingOrder = -1;

    GuideBtn[value + 1].GetComponent<Canvas>().overrideSorting = true;

    GuideBtn[value + 1].GetComponent<Canvas>().sortingOrder = 2;

  }

}

效果图:

用UGUI制作手游新手指引

其他做法还有 改变深度,方法是SetSiblingIndex 还有一个组件也可以Canvas Group,具体大家可以去看下API,这些组件的用法 。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

新闻标题:用UGUI制作手游新手指引-创新互联
转载注明:https://www.cdcxhl.com/article30/jpdpo.html

成都网站建设公司_创新互联,为您提供网站建设品牌网站制作定制网站定制开发微信公众号云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司