Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]

来源:互联网 发布:网络数字对讲机 编辑:程序博客网 时间:2024/05/22 16:44

Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]

本Demo主要实现一个简单的左右移动(使用StrangeIoC框架),效果如下图:
这里写图片描述

  • 首先新建一个空的Unity工程,导入StrangeIoC框架,导入素材
    如下图
    这里写图片描述

图片素材
这里写图片描述

  • 新建几个工作目录文件夹和几个基本的文件,如下图
    这里写图片描述

  • 创建GameEvent和PressType枚举类型
    代码如下:
    这里写图片描述

  • 创建模型类Model
    代码如下:
    这里写图片描述
    模型很简单,没什么好说的

  • 创建MoveView和对应的MoveMediator
    MoveView代码如下:
    这里写图片描述

MoveMediator代码如下:
这里写图片描述

MoveView里面获取用户输入的Input X轴的参数,,然后发送消息,,
MoveMediator监听 ,,进行进一步的操作,,(发给Controller进一步处理)
- 创建MoveStopCommand
代码如下:
这里写图片描述

这里MoveStopCommand接收,MoveMediator发送过来的事件,并获取对应的Model数据,,
根据Model数据里面的type来进一步执行操作,,
- 创建PlayerView和对应的PlayerMediator
PlayerView代码如下:
这里写图片描述
PlayerMediator代码如下:
这里写图片描述

这里PlayerMediator接收MoveStopCommand发送过来的事件,将事件监听转发到注入的View上面执行对应的方法,View上面的方法可获取对应的Model数据,,根据Model数据来进一步执行具体的移动操作或停止移动操作,,
- 创建Context类和入口
这里写图片描述

这里写图片描述

  • PlayerView配置
    新建空GameObject,改名为PlayerView,更改图片类型,添加2D刚体组件,添加PlayerView脚本
    如下图:
    这里写图片描述

  • MoveView配置
    新建空GameObject,改名为MoveView,添加MoveView脚本即可,
    如下图:
    这里写图片描述

  • ContextView配置
    新建空GameObject,改名为GameBootstap,添加MyShotGameBootstrap脚本即可
    这里写图片描述

最终场景图:
这里写图片描述

这里写图片描述

运行游戏,即可实现 左右移动飞船的效果

1 0
原创粉丝点击