事情是这样的,我做了一个小游戏,并且打算在我的界面中可以用手势去控制小游戏中人物的行为,由于我的识别手势的界面是用react+ts搭建的,但是我的小游戏又是用egret去实现的,于是问题就来了:怎样才能把我手势识别出来的结果传递给小游戏呢?这个问题困扰了我一周之久,当然这是因为我学艺不精,但我觉得还是有必要把我的心路历程给分享出来
一、iframe 传输数据
由于我的小游戏是以本地形式放在iframe里的,于是自然而然的就想到用iframe传输数据,结果问题来了,虽然iframe是可以接收到数据,可是这个数据怎么去传递给整个框架呢,小游戏和react根本不是同一套东西,我又在网上搜索了“如何在egret中使用iframe接收数据"也是一无所获 。
二、egret.HttpRequest()接收数据
无意间在egret的文档中看到这一条,想着既然是网络,那我是不是可以通过网络传输数据呢,我还去仔细又研究了一遍json,弄清楚了如何发送请求,如何得到请求的结果等问题,可是,既然是由egret发送请求去得到结果,那么结果又是怎么存在的呢,我怎么用react把识别到的结果放到一个特定的地方然后再用egret去得到呢。难不成我还要数据库?况且网络请求肯定有延迟,这根本就做不到实时互动,于是这个计划又泡汤了。
三、文件读取
这时候我已经走偏了,甚至想去做文件读写了。我想是否可以react去写一份文件然后egret去读那份文件,但很明显这已经超出了我的知识范围。
四、键盘事件
既然看起来他们通过数据交互是不太可能的了,那不如各玩各的。我打算给小游