Unity中CS脚本于JS脚本交互

这里需要注意的是被调用的脚本必须放在 "Standard Assets"、 "Pro Standard Assets" 和"Plugins" 这三个文件夹中的任何一个里,而调用它的脚本不能在一个目录文件夹中,否则无法编译通过,原因是Unity会最先编译这三个文件夹,“Editor”目录里的脚本稍后编译,其他的脚本最后编译(既 CS调用JS,CS脚本放在其他文件家中,JS脚本要放在 如上三个文件夹中先编译;JS调用CS,JS脚本放在其他文件夹中,CS脚本要放在如上三个文件夹中先编译)

一、CS调用JS脚本

JsMM.js

    //JsMM脚本中的方法
    function spoken()
    {
        print("js  js   js   js  js ");
    }

Test.cs 脚本

public class Test : MonoBehaviour {
    void OnGUI()
    {
        if (GUI.Button(new Rect(50, 150, 100, 50), "diaoyong JS"))
        {
            //获取 JsMM脚本
            JsMM js = (JsMM)GetComponent<JsMM>();
            //调用 js脚本中的方法
            js.spoken();
        }
    }
}

将 JsMM.js和 Test.cs都挂在一个物体上,运行即可

二、JS调用CS

CsMM.cs 脚本

using UnityEngine;
using System.Collections;

public class CsMM : MonoBehaviour {

    public void AAA()
    {
        Debug.Log("aaaaaaa");
    }
}

JsCode.js

//#pragma strict

function OnGUI(){
    if (GUI.Button(new Rect(50, 300, 100, 50), " JS  DIAO YONG cs")){
        var csMMScript = gameObject.GetComponent("CsMM");
        csMMScript.AAA();
    }
}

运行即可

注意在JS脚本中注释   //#pragma
strict   不然会报错 找不到 CS脚本中的方法

时间: 2024-08-09 22:01:30

Unity中CS脚本于JS脚本交互的相关文章

unity中三种调用其他脚本函数的方法

第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage("函数名");  此种方法可以调用public和private类型函数 第三种,GameObject.Find("脚本所在物体名").GetComponent<脚本名>().函数名();此种方法只可以调用public类型函数 unity中三种调用其他脚本函数的

80 脚本引擎——js脚本引擎

脚本引擎管理工具 java提供了一个脚本引擎管理工具,从这个工具可以获得各种脚本语言的脚本引擎,如js.python等.我们可以通过脚本引擎,来调用已经写好的脚本文件.相当的方便. 我们可以使用:new ScriptEngineManager()获取一个脚本引擎管理工具对象. 然后,可以通过getEngineByName(scriptName)的方式得到我们想要的脚本引擎. //获取脚本引擎管理器 ScriptEngineManager sem = new ScriptEngineManager

MQTT通信协议在Unity中的应用之——JS实现

一直以来在工业领域研究,根据数字孪生的要求,需要打通网络,从CLP到IOT到Dass到虚拟工厂(三维可视化),为了打通控制与反控制的状态,需要打通网络通信,对于Unity首先想到的肯定是Socket通信,这也是很多开发人员所熟悉的方法,但是MQTT通信协议在工业通信中使用很普遍,所以今天我就对MQTT通信协议在Unity使用做介绍我这边因为要上云端,所以,我测试了两套方案1.通过JS实现MQTT通信,再通过Unity与JS交互,实现通信首先需要paho-mqtt.js,jquery.min.js

9.12上午 JS脚本语言

JS脚本语言 JS脚本语言全称JavaScript,是网页里面使用的脚本语言,也是一门非常强大的语言. 一.基础语法 1.注释语法 单行注释:// 多行注释:/**/ 2.输出语法 ①alert(信息);效果是弹出信息 ②confirm(信息);效果是弹出一个和用户交互的对话框 ③prompt(信息):效果是弹出一个可以让用户输入的对话框 3.嵌入JS代码 嵌入JS代码时,要尽量靠下写,嵌入代码为<script type="text/javascript"></scr

unity中js脚本与c#脚本互相调用

unity中js脚本与c#脚本互相调用 test1.js function OnGUI() { if(GUI.Button(Rect(25,25,100,30),"JS Call CS" )) { var c = gameObject.GetComponent("test2"); c.PrintTest(); } } function testPrint() { print("CS Call JS"); } test2.cs using Unit

.net 用户控件ascx.cs注册js脚本代码无效果

在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('提示');</script>"); this.Pa

关于自定义控件中引入js脚本

自己写了一个自定义控件的工程,工程名为TestControls,自定义控件的内容为: namespace TestControls { public class TestBoxControl : Control { private string textValue = "コピー"; [Description("ボタンのテキスト値")] [Browsable(true)] public virtual string TextValue { set { textValu

AngularJs中,如何在render完成之后,执行Js脚本

http://www.cnblogs.com/JustRun1983/p/3936371.htm AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点: MVC, 模块化,自动化双向数据绑定,语义化标签.依赖注入等. AngularJs和Jquery的有什么不同? Jquery的主要目的是简化Js编写,专注于浏览器跨平台,主要用来操作DOM.Angu

每天一个JavaScript实例-从js脚本中访问object元素中的SVG

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-从js脚本中访问object元素中的SVG</title> <style> </style> </head> &l