返回《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. 全球安全行业融资收购简报(2016年2月)
  2. 技术胖Flutter第三季-15垂直布局Column组件
  3. python 用户输入_Python中如何让用户输入内容
  4. 如何解决push commit conflict
  5. win10计算机修改底色,win10电脑如何修改登陆背景
  6. 金蝶国际公布2020年全年业绩,云业务收入增长45.6%
  7. idea创建javaweb项目连接mysql【HTTP Status 500】
  8. Spring boot - 整合MyBatis
  9. 09. ajax跨域问题,同源策略
  10. MySQL 主键、索引创建
  11. html载入hta文件,浅谈HTA(HTML Application)和病毒的关系
  12. Flask框架学习笔记9-jinjia2模板语言
  13. 5G注册流程分级详解
  14. 男人30岁之前必须要明白的16条
  15. MySQL之MHA高可用配置及故障切换实例
  16. 画中画 视频叠加 视频覆盖 overlay
  17. micropython按键检测_TM1650按键扫描
  18. Java-Stream流,异常捕获
  19. Activity跳转方式
  20. 【报告分享】万物互联时代的操作系统报告(附下载)

热门文章

  1. 美团发布廉洁自律“美团七条” 王兴带领上百名高管庄严承诺
  2. so部标协议模拟服务器,808部标协议
  3. 111.(cesium篇)cesium地球自转
  4. 很多小白还不知道数控是什么?我统一解答吧
  5. [雨果发烧天碟] 荷塘月色
  6. My First Plug-in - Inventor API .NET 开发从0开始-课程2
  7. 项目12架设单位内部FTP服务器
  8. 使用Hibernate: GenerationTarget encountered exception accepting command : Error executing DDL “
  9. 怎么修改pop3服务器地址,怎么pop3服务器地址
  10. pandas 排序sort_values方法