需求场景:
在android中,调用js接口去更新游戏中信息。由于游戏逻辑代码都是ts写的,这就遇到问题了,怎么通过js调用egret的ts代码?
实现方案:
通过事件通知。
主要是从egret_loader.js中,摸索想到的办法。我们在realease.html中,新增
function jsNotifyTs(){
.
var context = egret.MainContext.instance;
context.stage.dispatchEventWith("jsNotifyts", false);
.
}
通过stage去分发一个自定义事件,这里没有携带参数。相当于一个简单通知。
同时我们在Main.ts的createScene()内来监听事件,
.
this.stage.addEventListener("jsNotifyts",this.doTsMethod,this);
.
.
private doTsMethod(event:egret.Event):void{
//--
}
.
这样就解决了开始出现的问题。