返回《SRPG游戏开发》导航

间章 第十一点五章 总结(Summary)

这一章,是对第十章与第十一章的一个补充性质的文章。


文章目录

  • 间章 第十一点五章 总结(Summary)
    • 一 说明(Description)
    • 二 未完成部分(Unfinished Part)
    • 三 游戏入口(Game Main)

一 说明(Description)

我们的游戏在程序方面可以说已经完成大部分,剩余部分并不是特别的多。

第十章与第十一章所描述的内容,是我们整个游戏的核心:

  • 游戏导演(GameDirector)可以说是游戏的总控;

  • 剧本动作(ScenarioAction)与地图动作(MapAction)分别对应了剧本控制于地图控制。

同时,消息中心(MessageCenter)使用的及少,你需要权衡它们的利弊(不限于耦合性):有相当一部分内容(包含但不限于各种委托和事件等)可以替换成MessageCenter控制。


二 未完成部分(Unfinished Part)

我们的游戏剩余未完成的部分:

  • 音频:包含游戏各种音乐与音效;

  • 读取保存:读取或保存游戏进度;

  • UI:角色状态UI、地图中光标显示网格信息UI、商店UI、储存区UI等等;

  • 技能:包含物品含有的技能等;

  • 其它:包含AI等等。

这些内容网络上有许多教程可供参考,在之后的章节中,有一些内容将不再说明,另外一些内容我们将进行完善它们。


三 游戏入口(Game Main)

我们在游戏开始时,应该对游戏的一些内容进行初始化,并且添加一些必要场景:

  • InitScene:初始化游戏;

  • StartScene:游戏首个场景,包含主菜单UI;

  • 过场场景:InterludeScene是目前我们唯一的过场场景;

  • 关卡场景:Stage0Scene是目前我们唯一的战斗地图场景;

过场场景与关卡场景是有许多个的。过场场景将由ScenarioAction控制;而关卡场景将由MapAction控制。

我们的游戏入口(GameMain.cs),在这里将它完善:

#region ---------- File Info ----------
/// **********************************************************************
/// Copyright (C) 2019 DarkRabbit(ZhangHan)
///
/// File Name:              GameMain.cs
/// Author:                 DarkRabbit
/// Create Time:            Mon, 14 Jan 2019 06:51:15 GMT
/// Modifier:
/// Module Description:
/// Version:                V1.0.0
/// **********************************************************************
#endregion ---------- File Info ----------using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;namespace DR.Book.SRPG_Dev
{using DR.Book.SRPG_Dev.Framework;using DR.Book.SRPG_Dev.Models;using DR.Book.SRPG_Dev.UI;using DR.Book.SRPG_Dev.ScriptManagement;public class GameMain : ApplicationEntry<GameMain>{[SerializeField]private string m_StartScene = "StartScene";public string startScene{get { return m_StartScene; }set { m_StartScene = value; }}private IEnumerator Start(){Scene scene = SceneManager.GetActiveScene();if (scene.name != "InitScene"){yield break;}ConfigLoader.rootDirectory = Application.streamingAssetsPath + "/Config";UIManager.prefabDirectory = ResourcesManager.uiPrefabDirectory;ConfigLoader.LoadConfig(new Type[]{typeof(MoveConsumptionInfoConfig),typeof(ClassInfoConfig),typeof(CharacterInfoConfig),typeof(ItemInfoConfig),typeof(TextInfoConfig)});yield return null;LoadScene(startScene, LoadSceneMode.Single);}protected override IEnumerator OnSceneLoaded(Scene scene, LoadSceneMode mode){yield return null;if (scene.name == startScene){if (!GameDirector.needCreated){GameDirector.instance.StopGameAction();GameDirector.instance.StopAllCoroutines();}UIManager.views.CloseViewsAll(false);yield return null;UIManager.views.OpenView<UIMainPanel>(UINames.k_UIMainPanel);}yield return base.OnSceneLoaded(scene, mode);}}
}

InitScene中,我们存在的物体:

  • 图 11-5.1 InitScene Hierarchy

GameMain中,我们将设置各种初始化组件:

  • 图 11-5.2 GameMain

至此,我们可以不再使用TestScene进行测试了,游戏也将进入正轨。


SRPG游戏开发(六十四)间章 第十一点五章 总结(Summary)相关推荐

  1. SRPG游戏开发(十)第五章 颜色映射与职业动画 - 二 颜色组(Color Chart)

    返回目录 第五章 颜色映射与职业动画 二       颜色组(Color Chart) 颜色组是保存许多颜色的一个容器,可以在Swapper中直接创建List<Color>或Color[] ...

  2. 【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类

    本系列文章由zhmxy555编写,转载请注明出处. http://qianmo.blog.51cto.com/5127279/875711 作者:毛星云 邮箱: happylifemxy@qq.com ...

  3. 【iOS-cocos2d-X 游戏开发之十四】cocos2dx(c++)中访问object函数

    Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Java层代码,还没有看过的童鞋,请移步到如下博文: [iOS-cocos2d-X 游戏开发之十三]详细讲解在 ...

  4. SRPG游戏开发(十六)第六章 基本框架 - 一 本章简介(Introduction)

    返回总目录 第六章 基本框架(Framework) 这一章主要编写各个游戏都有的基本框架. 关于源码.打包好的dll文件还没有上传,如何使用它们的Example工程也没有上传. 先来介绍一下源码的各个 ...

  5. 【iOS-Cocos2d游戏开发之十四】音频/音效/视频播放(利用Cocos2D-iPhone-Extensions嵌入Cocos2d进行视频播放!)...

    李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/482.html 自从Himi ...

  6. Linux 驱动开发 六十四:《pwm-backlight.txt》翻译

    文档路径:linux-imx-4.1.15\Documentation\devicetree\bindings\video\backlight\pwm-backlight.txt. PWM 背光绑定. ...

  7. 农场游戏开发记录十四

    今天完善了买种子的方法和流程,算是终于完成了所有方法和流程的测试,并且更新了一览图,修正了一些不符合命名规则的一些方法名称.下一步该写控制台交互界面了.没想到这一阶段这么快就完成了,而且我有点不敢开始 ...

  8. Welcome to Swift (苹果官方Swift文档初译与注解三十四)---241~247页(第五章-- 函数)

    In-Out Parameters (全局参数) 像前面描述的参数变量,只能在函数体内进行修改,如果你需要函数修改的它的参数值,并且希望这些改变在函数调用结束后仍然有效,可以定义使用全局参数. 定义全 ...

  9. 《SRPG游戏开发》导航(2019.03.04更新)

    <SRPG游戏开发>导航 第一章到第五章并没有使用Markdown,且经过CSDN几次改版和取消目录,这几章排版有些怪怪的. 2019.03.04 第十一章(十 - 十二) ,间章 第十一 ...

最新文章

  1. “System.Data.OracleClient.OracleConnection”已过时
  2. echo -n 和echo -e 参数意义
  3. 移植uboot第六步:支持NANDFlash
  4. 修改ubuntu 的dns
  5. ClassLoader简介
  6. 图解Tomcat类加载机制(阿里面试题)
  7. android红米3调用相机,红米3有什么接口?红米3有HDMI接口吗?
  8. 题目1002:Grading
  9. 7. Android Basic UI的布局 WidgetDemo基本组件演示
  10. ASP.NET画图全攻略(上)
  11. 随手小记:都是反着的
  12. 最新揭秘:FaceBook网站架构图
  13. java 框架医院系统,java毕业设计_springboot框架的医院信息管理系统
  14. 用人单位不与劳动者签定书面劳动合同的后果
  15. UVA1586 Molar Mass(分子量)
  16. DSP TI6657 执行pdkProjectCreate.bat问题解决办法
  17. 【mongo系列】 六、mongo分片集群
  18. MATLAB图形的实验原理,信息隐藏实验1
  19. 电脑投屏LED大屏颜色偏色问题解决
  20. 【区块链之菜鸟入门】区块链——颠覆式创新技术

热门文章

  1. matlab广域保护分区算法,基于行波信息的广域后备保护关联域识别方法与流程
  2. 陈世涛:华为H225H-05服务器RAID配置
  3. B类和AB类功率放大器
  4. novel research
  5. Arduino毕业设计——基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码)——自动驾驶小车控制系统
  6. 帝国cms网站建设的基本流程
  7. 用Cadence Virtuoso IC617结合gm/id方法设计有源负载差动对(五管OTA)运放
  8. 创业者都是抑郁症患者,任正非、张朝阳、徐小平、毛大庆,是这样挺过来的
  9. 离散——条件连接词(“只要就”与“只有才”)
  10. drupal 看来看去觉得是不是学学这个好呢 捯饬看看吧