查看: 1448|回复: 4
打印 上一主题 下一主题

[提问] 怎么让挂在A对象的代码调用B对象的变量

[复制链接]

1557

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
454
精华
31

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

跳转到指定楼层
楼主
发表于 2013-10-30 16:49:56 |只看该作者 |倒序浏览
比如说挂在gameobject_A 上的代码 有一个getkey方法,按某键时,更改挂在gameobject_b的代码的变量,或调用其函数.以前写flash的代码直接路径+对象名就可以了,u3d里貌似不允许这样直接调用。最好能给一个具体的例子,谢谢各位。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2

主题

7

听众

5583

积分

高级设计师

Rank: 6Rank: 6

纳金币
87
精华
0

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

沙发
发表于 2013-10-30 18:16:01 |只看该作者
可以做一个Manager的单例管理类,管理这2个对象,通过调用Manager类的方法来实现2个类交互。
或者可以通过gameobject_b.GetComponent<gameobject_b上的类的名字>().getkey(); getkey必须是public的
回复

使用道具 举报

2

主题

7

听众

5583

积分

高级设计师

Rank: 6Rank: 6

纳金币
87
精华
0

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

板凳
发表于 2013-10-30 18:23:36 |只看该作者
最好是做个管理类来管理其他类的交互,这样比较好管理,避免各个脚本之间互相交互,面向对象设计。
这样避免每个脚本都持有其他需要通信脚本的对象,只需要知道管理类的存在,而不需要知道需要交互的类是什么,找不到了怎么办,丢给管理者去处理。
比如UIManager,或者LevelManager,AudioManager。关于UI的对象纸盒UIManager交互,其他类想要访问UI,不去直接访问具体的按钮,而是调用UIManager的方法来实现和UI的通信。
回复

使用道具 举报

16

主题

5

听众

810

积分

初级设计师

Rank: 3Rank: 3

纳金币
350
精华
0

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

地板
发表于 2013-10-31 18:33:10 |只看该作者
gameobject_b.GetComponent<gameobject_b上的类的名字>().getkey(); getkey
回复

使用道具 举报

74

主题

2

听众

3549

积分

中级设计师

Rank: 5Rank: 5

纳金币
-100
精华
0

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

5#
发表于 2014-1-21 20:08:33 |只看该作者
学习了,谢谢
回复

使用道具 举报

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

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 16:40 , Processed in 0.084448 second(s), 28 queries .

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

© 2008-2019 Narkii Inc.

回顶部