查看: 1153|回复: 3
打印 上一主题 下一主题

[其他] Unity3D之外部输入控制

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-6-30 14:25:07 |只看该作者 |倒序浏览
为了方便我们对外部输入的管理,我们需要将所有的外部输入进行提取出来,制作一个外部输入管理类。方便我们以后对外部输入事件进行管理。当然了,我感觉这对于unity3d进行跨平台的开发是有益的。在对不同平台对接的时候,对于外部输入的修改时,则就只需要修改这一个地方就OK了,不需要在乱翻代码进行查找了。

当然,对于事件的传递,可能会遇到一些困扰。但是如果是挂在同一个游戏物体上的,我们可以采用SendMessage来发送消息,也可以采用BroadcastMessage方式来进行消息的传递。当然我们更可以采用C#提供给我们的委托、事件来进行传递喽。
在这里对于在同一个游戏物体上的,我采用的是SendMessage来发送的消息,对于不同的游戏物体,我采用的是国外的一个开源的Messenger插件来发送的。

Messenger使用起来还是比较简单的。只要在要接受的游戏物体上的代码里的OnEnable()方法里注册监听,在OnDisable()方法里取消监听。然后再要发送消息的地方使用Messenger.Broadcast进行广播就可以了。

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-6-30 14:38:34 |只看该作者
Thanks for this !
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-7-1 10:54:35 |只看该作者
感谢分享!!!
回复

使用道具 举报

0

主题

1

听众

823

积分

初级设计师

Rank: 3Rank: 3

纳金币
80
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-7-1 12:42:57 |只看该作者
感谢分享!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-27 09:48 , Processed in 0.063969 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部