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)
相关推荐
Aotman_17 小时前
Element UI 表格搜索高亮
前端·javascript·vue.js·ui·elementui
自信1504130575917 小时前
重生之从0开始学习c++之string(上)
开发语言·c++·学习
wangjialelele17 小时前
从零入门 LangChain:Python 语法详解 + 工具开发 + 结构化输出实战
开发语言·人工智能·python·语言模型·langchain
jinanwuhuaguo17 小时前
OpenClaw智能体的涌现与异化——复杂系统演化、知识权力重构与文明纪元跃迁(第五篇)
大数据·开发语言·人工智能·重构·安全架构·openclaw
Dillon Dong17 小时前
【系列主题】拯救 OOM 与构建中断:Next.js 在 Docker 中的静态生成(SSG)避坑指南
开发语言·javascript·docker
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第10题:HashMap中的元素是有序存放的吗
java·开发语言·数据结构·后端·面试·哈希算法·哈希表
itzixiao17 小时前
L1-049 天梯赛座位分配(20 分)[java][python][c]
java·开发语言·python
子非鱼@Itfuture17 小时前
ThreadLocal 是什么?如何用?以及最佳使用场景
java·开发语言·spring
杨凯凡17 小时前
【024】JVM 参数入门:堆、栈、元空间与典型模板
java·开发语言·jvm
不懒不懒17 小时前
【PaddleOCR实战指南:图像文字识别、实时摄像头与PyQt5 GUI开发】
开发语言·python