unity3d 鼠标打飞碟
标题编写一个简单的鼠标打飞碟(Hit UFO)游戏
游戏内容要求:
游戏有 n 个 round,每个 round 都包括10 次 trial;
每个 trial 的飞碟的色彩、大小、发射位置、速度、角度、同时出现的个数都可能不同。它们由该 round 的 ruler 控制;
每个 trial 的飞碟有随机性,总体难度随 round 上升;
鼠标点中得分,得分规则按色彩、大小、速度不同计算,规则可自由设定。
游戏的要求:
使用带缓存的工厂模式管理不同飞碟的生产与回收,该工厂必须是场景单实例的!具体实现见参考资源 Singleton 模板类
近可能使用前面 MVC 结构实现人机交互与游戏模型分离
思考
1.这次的打飞碟游戏能够重用之前牧师与恶魔的大部分代码,实现MVC的分离。例如SSAction的动作基类,ISSActionCallback的动作接口,导演类,门面模式,SSActionManager类等等。
2.有所改变的是,本游戏增加Disk的工厂类来减少新建和销毁的次数。还需要新增一个分数的管理者,来通过点击飞碟增加分数。
3.为什么需要工厂对象?游戏对象的创建与销毁高成本,必须减少销毁次数。如游戏中子弹。而且屏蔽创建与销毁的业务逻辑,使程序易于扩展。
需要实现的类
- 导演类Director,单例模式,继承System.Object(会不被Unity内存管理,但所有Scene都能访问到它),主要控制场景切换(虽然现在只