新手引导

转载自:http://www.cnblogs.com/marsz/p/4685522.html

前言... 2

版本... 2

作者... 2

功能... 2

类型... 2

触发类型... 2

步骤类型... 3

实现... 4

简要... 4

策划方面... 4

程序方面... 4

流程图... 5

详细技术方案... 6

程序主要逻辑... 6

关键细节答疑... 6

 

 

 

 附:word版百度云盘下载

http://pan.baidu.com/s/1DbNxs

前言

本文档描述Unity3d下支持策划灵活配置、多样性丰富的新手指引的相关说明,如有设计上不明白的地方,可登陆游戏(《魔霸西游》)体验。技术上有疑问的地方,可联系作者MarsZ解答,QQ569491198。

2015年7月28日

版本

V1.2( 2015年7月29日11:33:09)

作者

MarsZ (QQ569491198)

 

功能

在指定任意条件下,触发某对应指引,指示玩家执行某相关操作(如点击、拖动或播放某指令)。指引期间除执行指定操作外,无法执行其他无关操作(如点击无关地方)。所有指引由策划灵活配置,包括什么时候触发、触发什么指引等。

类型

触发类型

指引触发条件(主条件为可能触发指引的操作,副条件为判断指引能否触发时的附加判断条件)
格式: type,value
=====只为主条件, 后端用=====
1: 完成某指引后,主界面触发 base_guide.guide_id
2: 首通某关卡后,主界面触发 base_scene.scene_id
=====只为主条件=====
5: 关卡对话结束(关卡id#1,战胜;2,战败;3,胜或败;4,战前)
6: 点击操作(界面#目标#索引 0无索引)
7: 拖动操作(界面#目标1#索引1#目标2#索引2 0无索引)
11:任意仙魔血量低于X(%) (只用于线性)
25:章节领奖(关卡id#0,该关卡;1,除了该关卡)
=====可为副条件=====
10:进入区域(关卡id#区域12345)
14:战斗&回合(关卡id # 1胜;2败;3超时;4战败 # 第n次)
15:战斗&回合(除了关卡id # 1胜;2败;3超时;4战败 # 第n次)
16:战前配置,已上阵X个仙魔 (不包括主角)
20:主角的第1个激活属性激活了(1)(1不可修改)
21:主角提升到了N级(N)
=====只为副条件:
12:检测任务状态(任务id#0,未完成;1,完成未领;2,完成已领;3,未触发;4,完成)
17:检测指引状态(指引id#0,未完成;1,完成)
18:检测PVP状态(界面#0,未开始;1,开始)
22:检测战斗状态(关卡id#0,非战斗中;1,战斗中)
23:检测敌方仙魔总血量高于百分比(关卡id#XX)
24:检测模块是否解锁(模块id#0,未解锁;1,解锁;)

……

 

步骤类型

0: 纯对话
1: 箭头指示
2: 手指点击
3: 手指拖动
4: 手指双击
7: 功能解锁/锁定
9: 战斗暂停/继续
10:发送仙魔位置
11:对错提示
12:播放解锁动画
13:移到主界位置
14:战斗界面动画
15:切换头像
16:点击移动
17:箭头文本
18:至某界面
20:滑动地图

……

实现

简要

策划方面

策划主要通过配置2个表来实现对指引的设置和控制,分别为:

base_guide表以及base_guide_step表。表结构分别为:

 

图1 base_guide表结构

 

图2 base_guide_step 表结构

程序方面

程序读取配置表,当用户执行某些特定类型的操作,如点击、拖动或接收/完成任务,通关某关卡等时,检测相关操作能满足哪个指引组的执行条件(如是否点击了对应的指引物体、是否拖动了对应的物体到对应的位置、是否接受/完成了对应的任务、是否通关了对应的关卡)。如满足某指引组执行条件,并且当前能执行指引(如不在加载界面,界面不在缓动等),则执行对应的指引组(base_guide表的guide_id的指引)。如不满足,则指引暂时结束。

执行完某指引组的当前步骤的指引(base_guide_step表的guide_step_id的指引)后,判断是否已执行完当前指引组的所有指引步骤,如未指引完,则执行该指引组中的下一个指引步骤,否则判断是否能触发下个指引组。

流程图

 

图3 流程图

详细技术方案

程序主要逻辑

1、根据策划配置的指引触发类型,设置对应的指引触发类型常量;

2、根据策划配置的指引步骤类型,设置对应的指引步骤常量,设计相应的指引步骤界面(如需要界面,如点击和拖动等需要手指播放界面。如播放某动画需要全屏遮罩等);

3、打开界面时:

 i、根据策划配置,检测该界面是否有能触发指引的GameObject,如有,给这些GameObject绑定GuideTriggerGameObject脚本,用于截获能触发指引的操作,如点击(OnClick)等。截获到操作时,发送触发指引消息。指引控制器检测该操作能否触发指引组,如可以,指引之。

 ii、根据策划配置,检测该界面是否有能执行指引的GameObject,如有,给这些GameObject绑定GuideGameObject脚本。当该GameObject正处于绑定的指引步骤执行中时,调整该GameObject的Layer和Depth等,让该GameObject可以接受点击或其他对应的指引操作。以及独立于其他显示单元进行高亮(如需要)。

4、指引步骤执行完毕后,发送消息给控制器,控制器收到后,检测当前指引组是否还有下一个指引步骤,如有,继续执行下一个指引步骤,直至指引完该指引组的全部指引步骤。

5、指引组的步骤全部指引完毕后,检测是否能触发下一个指引组,如能,执行之,否则指引暂停。

关键细节答疑

Q:关于指引时只让对应的指引物体可以接受点击、拖动等事件或者高亮。

A:指引时全屏遮罩一个指引layer(层级高于普通GameObject的层级)的蒙版,屏蔽所有无关的GameObject,对应正处于指引步骤中的GameObject,调整其层级到layer层,调整其depth以满足深度合适(必要时可以借助UIPanel来设置depth),让其可以接受事件。

 

Q:关于点击具有某属性值的物体触发特定指引。如点击某类型的某ID值的卡牌能触发特定指引。

A:打开界面时,给能触发指引步骤的物体绑定GuideGOInfo(继承自MonoBehaviour)脚本,脚本上附上相关的属性值(这些属性在物体上的信息更新时也要即时更新)。当物体遇到触发条件时(如被点击等),检测上方的属性时是否也满足某些指引的触发条件,如果一切条件都满足,即可触发对应指引。

 

Q:关于“播放动画”类型的指引步骤的执行方案。

A:对于这类型的指引步骤,当触发时,发送消息事件给外部,请求“播放动画”或其他操作。当这类操作完毕时,发送消息事件给指引,告知指引步骤完毕,让指引继续执行即可。

 

Q:关于断线重连后指引的继续。

A:关键指引步骤会发送消息给后端(见base_guide_step表的to_server

字段),请求后端保存该指引组和指引步骤。断线重连后,结合后端保存的指引组ID和指引步骤,计算出当前应该处于的指引组和指引步骤,执行之。如果该步骤是某界面中执行的,则先打开对应界面再执行指引步骤即可。

 

Q:关于指引间隙误操作。

A:要有个全局的指引遮罩蒙版,指引间隙间(如2步骤间等)让蒙版的作用。指引继续执行时或者指引结束后去掉该蒙版。

 

Q:某GameObject如何知道自己处于当前指引步骤。

A:该GameObject身上会有GuideGameObject脚本,继承自MonoBehaviour,且脚本中绑定有与本GameObject关联的指引组和指引步骤列表。当Update执行时,会判断其绑定的指引组和指引步骤列表中,是否有当前正在执行的指引组和指引步骤,如果有,则为正在执行与自身有关的指引。

 

Q:如何知道某GameObject绑定有什么指引。

A:在界面初始化时及界面中可能触发指引的GameObject变化时,发送一个重新更新绑定GuideGameObjectGuideTriggerGameObject的事件。收到事件后,循环遍历本界面GameObject上的所有Children GameObject,判断其名字和索引是否对应到了base_guide_stepbase_guide中,如果有,则绑定GuideGameObjectGuideTriggerGameObject脚本,并且更新脚本里存储的指引组和指引步骤列表。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值