【Egret】2D 使用中的一些疑难解决技巧!

时间:2021-10-02 13:33:29

1.问题:声音在ios上无法播放

   解决方法:①首先需要预加载一个声音

                       ②然后目前只有点击之后才能播放声音,不能默认播放



2.问题:滚动条问题

  解决方法:①js原生方法:overflow:auto

                      ②egret的scroller组件,但是这个组件有问题;用代码new的话,就会一松手就

会弹回初始位置;必须在eui编辑器手动添加,才不会有这个BUG;



3.问题:获取egret的canvas标签

解决方法:

let containerList = document.querySelectorAll(".egret-player");
        let length = containerList.length;
        for (let i = 0; i < length; i++) {
            let container = containerList[i];
            let player = <WebPlayer>container["egret-player"];
            player["canvas"] //这个就是canvas
        }

一般情况下这个查询结果的列表长度就是1,你只取默认的canvas就不用遍历,直接取第一个container

这个是源码里的获取方式,拿不到只有一种可能,写错了哪个属性名。

还有就是在egret初始化结束后再去拿,太早就是空的。等你的Main入口类被调用了就可以拿了

document.querySelectorAll(".egret-player")[0]["egret-player"]["canvas"]

直接在console输入这个打印