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

Laya调用Js

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

  1. 创建一个LayaAir项目,并确保你已经设置好了项目的基本结构。
  2. 在LayaAir项目中的任意一个类(例如主入口类)中添加以下代码:
typescript 复制代码
// 导入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函数的实现:
javascript 复制代码
<script>
    // 定义JavaScript函数
    function jsFunction(param) {
        console.log("JavaScript function called with parameter: " + param);
        return "Response from JavaScript";
    }
</script>
  1. 刷新浏览器,你将在浏览器的控制台中看到如下输出:
JavaScript 复制代码
JavaScript function called with parameter: Hello from LayaAir!
Response from JavaScript

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

Js调用Laya

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

typescript 复制代码
window.addEventListener("OnConnectWebRtc",()=>{
            this.OnConnectWebRtc();
        })
window.addEventListener("OnDisConnectWebRtc",()=>{
            this.OnDisConnectgWebRtc();
        })

在外部触发事件

javascript 复制代码
const e = new Event("OnDisConnectWebRtc");
    
window.dispatchEvent(e)
相关推荐
炬火初现几秒前
C++17特性(3)
开发语言·c++
煤炭里de黑猫2 分钟前
Python 爬虫进阶:利用 Frida 逆向移动端 App API 以实现高效数据采集
开发语言·爬虫·python
草莓熊Lotso2 分钟前
Linux 进程创建与终止全解析:fork 原理 + 退出机制实战
linux·运维·服务器·开发语言·汇编·c++·人工智能
枫叶丹42 分钟前
【Qt开发】Qt系统(九)-> Qt TCP Socket
c语言·开发语言·网络·c++·qt·tcp/ip
holeer2 分钟前
14步入门Vue|cn.vuejs.org教程学习笔记
前端·javascript·vue.js·笔记·前端框架·教程·入门
007php0072 小时前
PHP与Java项目在服务器上的对接准备与过程
java·服务器·开发语言·分布式·面试·职场和发展·php
Evand J3 小时前
【MATLAB程序,一维非线性EKF与RTS】MATLAB,用于一维的位移与速度滤波和RTS平滑/高精度定位,带滤波前后的误差对比
开发语言·matlab·卡尔曼滤波·rts平滑·正向滤波
Web极客码3 小时前
WordPress 6.8有哪些新特性
前端·javascript·html
火云洞红孩儿8 小时前
告别界面孤岛:PyMe如何用一站式流程重塑Python GUI开发?
开发语言·python
码路星河8 小时前
基于 Vue + VueUse 的 WebSocket 优雅封装:打造高可用的全局连接管理方案
javascript·vue.js·websocket