Laya中的脚本与外部的Js之间相互调用

Laya调用Js

要在LayaAir游戏引擎中调用JavaScript代码,你可以使用LayaAir提供的JavaScript接口。下面是一个简单的示例,展示了如何在LayaAir项目中调用JavaScript函数:

  1. 创建一个LayaAir项目,并确保你已经设置好了项目的基本结构。
  2. 在LayaAir项目中的任意一个类(例如主入口类)中添加以下代码:
// 导入JavaScript接口
declare function jsFunction(param: any): any;

class Main {
    constructor() {
        // 调用JavaScript函数
        this.callJSFunction();
    }

    private callJSFunction(): void {
        // 调用JavaScript函数并传递参数
        const result = jsFunction("Hello from LayaAir!");
        console.log(result);
    }
}
  1. 编译和运行LayaAir项目,确保你的项目能够正常启动。
  2. 在LayaAir项目的HTML文件中添加一个JavaScript脚本标签,定义jsFunction函数的实现:
<script>
    // 定义JavaScript函数
    function jsFunction(param) {
        console.log("JavaScript function called with parameter: " + param);
        return "Response from JavaScript";
    }
</script>
  1. 刷新浏览器,你将在浏览器的控制台中看到如下输出:
JavaScript function called with parameter: Hello from LayaAir!
Response from JavaScript

这样,你就成功地在LayaAir项目中调用了JavaScript函数并获取了返回值。请根据你的实际需求修改和扩展这个示例代码。

Js调用Laya

在Laya工程中添加事件监听,注意这里要用箭头函数去调用,要不然会出现this指向window的问题。

window.addEventListener("OnConnectWebRtc",()=>{
            this.OnConnectWebRtc();
        })
window.addEventListener("OnDisConnectWebRtc",()=>{
            this.OnDisConnectgWebRtc();
        })

在外部触发事件

const e = new Event("OnDisConnectWebRtc");
    
window.dispatchEvent(e)