zoukankan      html  css  js  c++  java
  • 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:

      

  • 相关阅读:
    自制游戏Zombie代码
    HNOI2020总结
    20200615题解:继续扮演
    20200611题解:树网的核
    历次考试总结
    寒假总结和省选大体规划
    每日总结
    有一种感动叫ACM(记WJMZBMR在成都赛区开幕式上的讲话)
    递推求欧拉函数的最简单的详解
    总结一些好用的C++小技巧
  • 原文地址:https://www.cnblogs.com/blog-wzz/p/6727695.html
Copyright © 2011-2022 走看看