什么是游戏向导
游戏向导是在游戏基本逻辑基础,单独的一套逻辑,用来帮助玩家了解游戏玩法。也有游戏的向导逻辑和游戏本身逻辑相结合的案例。但大致上游戏向导是独立与游戏逻辑的。
目前页面游戏的向导步骤分为两种:强制和非强制。两者的区别就玩家是否一定要按照游戏向导的要求进行操作。
本文的实现效果
以游戏逻辑为时间轴灵活串联一系列的单独向导步骤,单独步骤可以是强制和非强制的任何一种。对游戏本身逻辑有较少的侵入性。
大致思路
由游戏逻辑触发向导功能,即开启一个向导;
向导功能获取这个向导全部步骤的数据,进行表现;
游戏功能或者向导功能关闭向导的一个步骤,直到处理完全部的向导步骤,这时就完成了一个完整的向导;
游戏功能的特定步骤需要告知向导功能完成了该功能(这部分代码就是向导部分嵌入到游戏功能的)。
具体实现
显示效果实现
强制向导采用遮罩阻挡玩家对非向导功能的操作,留下没有遮罩的部分配合显示资源告知玩家要如何操作;
遮罩区域有四块矩形拼起来,露出中间一个区域供用户操作;
向导遮罩和向导的显示资源要高(z坐标)于游戏逻辑层;
根据页游的特点,向导层需要适应窗口变化,原则就是和游戏UI位置匹配(垂直水平两个方向的居中、向上、向下对齐);
向导需要显示的时候,要快速遮罩游戏UI,所以可以先绘制一层半透的遮罩。其他向导需要的显示资源可以后续加载。
向导逻辑
游戏逻辑触发一个向导,通常在升级、交接任务时触发。这部分需要硬编码而且是侵入性的;
一个向导开始,载入整个向导的所需数据;
游戏逻辑或向导自身推动向导步骤。通常在打开特定面板、执行特定操作后进行。这部分代码需要写在游戏UI代码中,目的是告知向导模块可以执行了特定向导的下一步了。应该可以猜到,多数情况下代码会空转,并不会执行;
向导模块在收到可以执行当前向导的下一步后,会根据读取到的数据,变换向导的显示,向导步骤指针后移一位。如果没有后续步骤,向导模块自身关闭。