新手指引

1、拆分成指引小组

  把指引步骤,尽量拆分的细一些。比如,虽然创建英雄祭坛和招募英雄是连续的步骤,但是,应该拆分成两组指引,创建,招募各代表一组。最理想的情况是,每一步只跟服务器进行一次信息同步。这样,就比较容易进行断点返还。

  每一个小组有一个编号 比如 1000,每一个小组中的每一步都有一个小步骤编号如1,2,3。这样每一步的指引就有一个唯一的编号=小组编号 +步骤编号, 如1001。

  2、每一步的触发条件

  指引系统的每一步,不应该自己一步步驱动,也不应该通过计时控制,而应该是有游戏的业务逻辑驱动的。触发条件会有这几类:

  *进入场景
  *打开界面
  *收到数据包,并成功
  *关闭界面

  为了不让指引代码散落在游戏代码各处,难以维护,我们在这些位置,让他们抛出一些通用的消息。然后在指引系统中设置监听。并处理逻辑。当然为了优化,可以在一个指引小组开启的时候,再设置监听,小组结束后清除这个小组的所有监听。

  3、限定条件

  因为触发条件是一条通用消息,这种消息发出的很频繁(比如打开英雄界面,每次打开都会发送这样一条消息),所以指引需要用一定的条件去判断这条消息是不是真的触发这一条指引。

  这里存在两种情况:

  1)小组内的指引,这种比较简单,因为小组已经开始,所以收到消息之后,只需要判断当前当前的小组对不对,还有上一条指引的ID是不是匹配,就可以断定,应不应该出这一条指引。

  2)小组开始的指引,这个判断会比较麻烦,判断条件大概会分为下面几类:

  *当前是不是在指引中(确保不会同时出现两个指引小组)
  *第一次打开,或者进入某某某
  *某功能是否开启
  *玩家等级
  *基地等级

  这些判断条件的组合,一定要是开启指引的充要条件。否则就会出问题。这是真个最麻烦的一点,最考验细节的一点。

  4、断点返还机制

  每一个指引小组,有两种可能,开启断点返还,和不开启断点返还。前者只要关键步骤没有进行过(例如,指引创建建筑过程中,创建成功的服务器回包),那如果再次满足条件,还会开启指引。后者是只要指引开启过了,那就不会再次指引了。

  实现方式,以指引小组为单位,在服务器或者本地记录一个bool值,记录这个指引小组是否开启过。需要开启断点返还的指引步骤,在关键步骤结束后,就将这个bool值置为true,它将会成为这一步指引是否开启的判断条件。对于不使用断点返还的指引小组,在指引开始的第一步就置为true即可。

  如果一个指引,需要的前提条件比较多,指引繁复,那为了保险起见,还是做成不支持断点返还的为好。

时间: 2024-10-13 20:39:55

新手指引的相关文章

iOS: 首次使用App时,显示半透明新手指引

在很多的app,我们都会发现这样一个功能:就是app启动后进入主界面时,会有一个半透明的指引图,它会提示用户如何一步步进行操作,快速的熟悉app的使用规则,极大地方便了用户的使用,也加快了app的推广,优点不言而喻. 我主要介绍一下思路: 首先创建一个半透明的蒙版覆盖在当前整个屏幕上,然后用贝塞尔曲线绘制白色的提示框(矩形或者圆形),接着给出带箭头图标的文字提示,也即在蒙版上添加自定义的子视图控件.当然,最后给整个蒙版添加一个触摸手势,只要轻轻点击就移除蒙版.子视图.手势,恢复正常界面. 注意:

40.Android之新手指引界面学习

我们经常可以看到打开新App会有新手指引界面,类似蒙板效果今天来学习.原理其实很简单,设置一个透明Activity或者Dialog,然后修改其属性即可.由于实现比较简单,就贴一部分代码. 1.在Androidmanifest.xml增加 1 <activity 2 android:name=".TransparentActivity" //你的Activity 3 android:theme="@style/TransparenceTheme"> 4 &

首次启动优美新手指引tip

前言 系列文章:[传送门] 期末考试复习,就准备这系列的博客,记录 概率论 复习的成果. 正文 内容来自 概率论相关书籍 及 资料,有疑问请留言. 随机试验 · 样本空间 任何一个过程,如果它的结果是随机的(无法事前知道),那么该过程就称为一个随机试验(E).具有三个性质: (1)每次试验的可能结果不止一个,并且能事先明确试验的所有可能结果. (2)进行一次试验之前无法确定哪一个结果会出现. (3) 可以在同一条件下重复进行试验. 实验所有可能的结果组成一个集合(set),叫做样本空间(samp

用UGUI制作手游新手指引

因为这几天工作上的需要,研究了下用UGUI制作新手指引.可以实现这个效果的方法有很多,都用了一遍,最后还是感觉这个方法比较好.我们需要创建一个画布,然后在画布下创建需要新手指引用到的按钮, 然后在需要新手指引的按钮上加2个组件,一个是 Graphic Raycaster 和Canvas ,Graphic Raycaster是用来是否接受可以交互的,Canvas是改变显示的,记得我们这里需要一个遮罩,就用一个Image来做吧 然后我们给这个4个按钮都加上这2个组件,因为这里我是测试所以我需要一运行

开源整理:Android App新手指引开源控件

开源整理:Android App新手指引开源控件 一个App第一次与用户接触或者发生大版本更新时,常常会用户进行新手引导,而一个好的新手指引,往往能够方便新用户快速了解操作你的应用功能.新手指引的重要性,不言而喻.本文搜集整理了Github上一些效果不错的新手指引开源控件,帮助你的应用在用户面前有更好的效果展示.当然,如果你有精力,也可以自己开发维护一套新手指引效果. GuideView https://github.com/binIoter/GuideView 国人开发者出品的一个轻量级新手指

[MarsZ]Unity3d游戏开发之Unity3d全策划配置新手指引

Unity3d全策划配置新手指引 前言... 2 版本... 2 作者... 2 功能... 2 类型... 2 触发类型... 2 步骤类型... 3 实现... 4 简要... 4 策划方面... 4 程序方面... 4 流程图... 5 详细技术方案... 6 程序主要逻辑... 6 关键细节答疑... 6  附:word版百度云盘下载 http://pan.baidu.com/s/1DbNxs 前言 本文档描述Unity3d下支持策划灵活配置.多样性丰富的新手指引的相关说明,如有设计上不

反向遮罩 (新手指引 镂空 镂空区域可穿透点击)

参考: 新手引导镂空方案 使用RenderTexture创建反遮罩或橡皮擦 一.首先创建一个背景 let bg:eui.Image = new eui.Image(RES.getRes("bg_jpg")); this.addChild(bg); 二.创建一个圆 let sp:egret.Sprite = new egret.Sprite(); sp.graphics.beginFill(0xff0000); sp.graphics.drawCircle(100,100,100); s

GuidelinesOfGameDevelopment游戏开发新手指引

# GuidelinesOfGameDevelopment Just give out some experience or directions on game development to green hands.分享经验或路线给新手们 正文:最新指引链接 游戏类型:手游.端游.页游.家用游戏(电视) 游戏相关职位: 客户端: 游戏逻辑(常见功能和特色功能开发),将用户体验做到极致,未来方向应该是主程.游戏制作人和游戏玩法创新.C#或Lua.js.我想说,让Lua滚出游戏界,算了,还是我退出

pandas 新手指引

# 10 Minutes to pandas pandas入门教程,面向新手,如需高级教程,移步[pandas cookbook](http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook) 按照约定,一般按照如下形式对pandas进行导入 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 使用ipython notebook