[分享]Laya 1 + ts,百度小游戏,开放数据域适配,非官方

非官方教程,纯属个人摸索,期待之后官方更新支持。
 
我用的是typescript开发,但理论上来说,应该js版也能用。
 
使用步骤如下:
  1. 使用IDE版本 >=1.8.0,我试了1.8.0和1.8.2,低版本的我没有试,可以自行尝试下。直接发布成百度小游戏,需要使用发布后的`swan-game-adapter.js`.
  2. 根据你使用的类库版本,用附件解压后的`laya-lib-replace`文件夹下相应版本替换,主域和开发域都需要替换,如果没有相应的版本,或是已经作了其他的修改,请参考下文的修改方法自行修改。
  3. 主域项目源码无需做其他特别的调整。编译发布后,将附件解压后的`main-replace`下所有文件拷贝至百度小游戏目录下,替换原有文件。
  4. 开放域项目需要对适配选项做下调整,将scaleMode设置为SCALE_NOSCALE。编译发布后,将将附件解压后的`open-replace`下所有文件拷贝至百度小游戏开发数据域目录,替换原有文件。

 
百度适配库laya.bdmini.js修改方法:
  1. 如果报错找不到`swan`,改为使用`BMiniAdapter.window.swan`调用。
  2. 参考`laya.wxmini.js`,增加`onReciveData`函数,同时将漏了的对`ziyuFileData`和`ziyuFileTextureData`的处理补上。
  3. 如果开放域未使用图集,都是用的单张图片,可以不用修改。否则,需要将`BMiniAdapter.postInfoToContext`中的`fileNativeUrl=textureUrl`改为`fileNativeUrl=URL.formatURL(textureUrl)`

 
开放域暂时无法适配,是由于开放域获取到的window的宽高都是0,适配时底层计算宽高,就会有可能除以0,得到NaN,从而造成清除失败,之前的绘制一直保留着。而window的宽高似乎手动设置无效,因此暂时我还没有办法,需要继续研究。
 
附一个完整的demo,可以参考下。 https://github.com/tianhe1986/laya-ts-baidu-opendata
 
 
已邀请:

要回复问题请先

商务合作
商务合作