Skip to content

新手引导

高凯 edited this page Dec 24, 2017 · 6 revisions

编辑器工具

Tools -> 新手引导 -> 初始化
Tools -> 新手引导 -> 创建新手引导预设

这两步的作用是:

  • 创建一个新手引导的数据表 GuideData
  • 创建新手引导窗口的脚本
  • 创建新手引导系统的脚本
  • 在sortLayer中增加一个Guide层
  • 在配置中增加一个引导开关
  • 创建一个新手引导预设

使用方法

1.在生成的GuideData中添加你想要的字段
默认的字段有:
StartPoint bool 标记是否为开始点
EndPoint bool 标记是否为结束点
Premise string 前提条件的引导ID
NextGuide string 下一步的引导ID,如果为空则默认是下一条引导
CallToNext bool 是否接受调用前往下一步
ClickToNext bool 是否接受点击去下一步
GuideWindowName string 要引导的界面名字 GuideObjectName StringArray 要高亮的界面对象
GuideItemName StringArray 要高亮的Item名字(动态创建出来的)
TipContent string 引导提示文本
TipContentPos Vector3 提示文本的位置
MaskAlpha Float 遮罩的Alpha

  1. 在生成出来的GuideSystem中重写
    OnStart() 新手引导启动时调用
    GetGuideRecord() 请求引导记录,可以根据情况选择是从本地读取还是从服务器请求,默认是写在持久数据中
    SaveGuideRecord() 保存引导记录,以根据情况选择是保存在本地还是发往服务器,默认是保存在本地
    GuideStartCondition() 判断是否满足引导开始条件,默认判断是不是开始点
    GuideEndCondition() 引导退出条件,默认判断是不是结束点
    GuideNextCondition() 判断是否满足引导的下一步条件,默认为true
    GuideBehave() 引导每步的表现(非UI的操作)
    GuideBehaveByUI(UIWindowBase ui) 引导表现 (对UI的操作)
    ClearGuideBehave() 清除新手引导的表现,一般应该与GuideBehave()相反
    ClearGuideBehaveByUI(UIWindowBase ui) 清除对UI的操作,一般应该与GuideBehaveByUI()相反
    GuideClickFilter(InputUIOnClickEvent e) 点击过滤器,返回true通过
    GuideCallFilter() 调用过滤器,返回true通过

3.在生成出来的GuideWindow中添加你需要的功能
默认的功能有:
ShowTips(string content, Vector3 pos) 显示提示文本
SetMaskAlpha(float alpha) 修改遮罩alpha
ShowGuideUIByItem(string uiName, UIWindowBase ui, string itemName, Vector3 offset, bool isFollow)
ShowGuideUIByObject(string uiName, UIWindowBase ui, string objName, Vector3 offset, bool isFollow)
ShowGuideUI(RectTransform guideUI, GameObject aimUI, Vector3 offset, bool isFollow) 让引导界面的一个对象定位到指定UI的某个子对象上,例如手势箭头
HideGuideUI(string uiName) 隐藏提示图标
HideAllGuideUI() 隐藏所有的提示图标

Clone this wiki locally