c# h5 unity3d_Unity3D js和C# 间相互调用

最近在学Unity3D,在试做js和C#方法调用时遇到挺多问题,很多时候提示找不到对象或者调用的方法找不到,很郁闷查了很多资料再多方试验后总结如下:

版本 Unity 5.6

1、如果调用双方不在同一个游戏对象上 js以 GameObject.Find("游戏对象名").GetComponent("脚本"); C# 以GameObject.Find("游戏对象名").GetComponent();来获取要调用的js对象。

如果同一个对象,可直接 js以 gameObject.GetComponent("脚本"); C# 以gameObject.GetComponent();来获取要调用的js对象。

2、C#和C#间调用,如果被调用方(如 Class_2)没有绑定对象 直接 Class_2 c2 = new Class_2();如果Class_2绑定在GameObject上,那在 Class_1里写法C# 以GameObject.Find("游戏对象名").GetComponent();

3、js和js间调用,如图:

4、特别注意:JS和C#间相互调用时,JS和C#文件不能放到同一个文件夹,被调用者必须放到 "Standard Assets"、 "Pro Standard Assets" 、 "Plugins" 这三个目录中的任一文件夹里。

5、被调方是C# 注意方法加 public 。

例子如下:

有shoot1.js,shootget.cs,各有方法 setResult() 带返回值。

例1:

 

 

  

例2:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值