20200612猿粪学习日志
始于20200612关于即时战略游戏猿粪计划开发日志
常见的基础知识盲区
属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。属性是get set
关于策略游戏卡通战争的游戏脚本分析
2020年6月份开头我开始自主学习与开发一款战争题材的即时战略类游戏,从头到尾的开发都是自己一个人参考相关的资料完成的,以下进行游戏脚本的探讨以及思考,预计文档编撰周期为两天左右。
开发运用何种设计模式
目前总体代码是以继承抽象类的模式进行,具体是哪种设计模式还待搜索与学习。代码中将一些常用的模块中统一的部分进行抽象设类,然后具体的模块功能类来继承抽象类实现重写从而达到大量复用代码的目的。
一个具有注脚的文本。 例如:Interaction1 ,网络上称之模板模式。
代码设计结构图
略 待模块分析结束之后进行总体结构的绘制
模块一 RtsManager
Real-Time Strategy Game 简称 RTS 此管理脚本负责初始玩家的设定以及初始玩家信息的管理。ps:补充图中RtsManager挂载在Manager物体上
模块二 MouseManager
MouseManager负责鼠标管理,内部实现了如果有按下shift 并且单击物体之后加入选中列表 Listselections,如果没有按下shift并且单击物体并且selections不为空,则清空selections,将物体加入selections中。
模块三 InfoManager
InfoManager是面板展示信息管理脚本
模块四 ActionManager
ActionManager是事件管理负责管理即时战略任务中的按钮事件
模块五 VisibilityManager
VisibilityManager是可视化管理脚本 控制敌人的可视化参数 达到可视化蒙版的效果
略 控制o.GetComponentsInChildren().enabled = false;即可实现隐身
模块六 CashBoxManager
略 显示玩家的Credits
模块七 SoundPlay
略 难度较小
模块八 AI
模块九 BattleSystem
略
-
抽象类交互类内含select()选中以及 Deselect()取消选中两个抽象方法供使用。其他类也可继承Interaction进行两个方法的重写,从而达到代码复用的目的。 ↩︎