你是在什么时机去获取 cc.view.getVisibleSize 的?
想问下实在github上修复的么?那个engine版本稳定么?楼主反馈的问题我也有遇到。
我给出部分代码吧
export class UICfg {
public static get SCR_DESIZE_SIZE() {
return cc.size(1366, 768);
}
public static get SCR_SIZE() {
return cc.view.getVisibleSize();
}
public static get SCR_W() {
return cc.view.getVisibleSize().width;
}
public static get SCR_CW() {
return cc.view.getVisibleSize().width / 2;
}
public static get SCR_H() {
return cc.view.getVisibleSize().height;
}
public static get SCR_CH() {
return cc.view.getVisibleSize().height / 2;
}
public static get SCR_EDGE() {
return Math.max(0, UICfg.SCR_CW - 768);
}
}
if(cc.view.getVisibleSize().width == 0 || cc.view.getVisibleSize().height == 0) {
if(CC_DEV) {
cc.assert(false, "fatal error");
}
}
因为其它的地方, 有常量初始化的时候会间接调用到cc.view.getVisibleSize
我现在用的2.1.1的项目,想升级到2.1.2的新引擎,但是我再2.1.1的原生上面添加了很多东西,需要我再重新build,重新再添加一遍吗。
我试了构建模板,卡在 copy-build-templates,进度条不会动,该怎么办? 如果让我再把原生的东西集成一遍,显然不可能阿。 有解决办法吗
今天试了github上的2.2, 2.1.3的audio目录的两个文件, 正数的问题依然存在, 难道是我弄错了?
WIN10 EDGE浏览器.
总结一下
-
性能问题, 目前发现在个别 MAC SAFARI 上面会有明显下降, 原因不明
-
MAC SAFARI 上声音不播放的问题, 无论是 2.1.0 还是 2.1.2, 都不播放, 网上有说法是要把浏览器的声音打开. 但奇怪的是, 我有另一个项目 2.1.0, 却没这个问题. 原因不明.
-
关于 SAFARI/EDGE 浏览器的正数问题, 我目前有临时的解决方案. 不过 github 上我试过 2.1.3 和 2.2.0 的 audio 目录下的两个文件, 问题仍然存在.
-
cc.view.getVisibleSize 的问题, 倒还问题不大. 不建议把 cc.game._prepareFinished 改动, 那个修改其实并不好.
-
建议下个版本把 textUtil 导出到 cc 中
-
粒子拖尾的问题, 把如下的代码注释掉可以临时应付
this.positionType = parseFloat(dict[‘positionType’] || PositionType.RELATIVE); -
F11无法全屏的问题, 如下代码
_t._rpShowAll = new cc.ResolutionPolicy(_strategyer.EQUAL_TO_FRAME, _strategy.SHOW_ALL);
要改成
if (cc.sys.isBrowser && !cc.sys.isMobile) {
_t._rpShowAll = new cc.ResolutionPolicy(_strategyer.PROPORTION_TO_FRAME, _strategy.SHOW_ALL);
}
else {
_t._rpShowAll = new cc.ResolutionPolicy(_strategyer.EQUAL_TO_FRAME, _strategy.SHOW_ALL);
} -
cc.Sprite的setState/getState 未实现的问题, 可以在 cc.Button 中找到答案, 临时解决
-
目前编辑器不能指定插件脚本仅仅给编辑器使用, 建议后续版本可以.
这次升级算是有惊无险.
windows 这个声音正数问题你是怎么解决的?替换了之前的andio么?
谢谢反馈,我们进行会跟进
这个问题我们已经建立 issue,谢谢反馈
嗯…… 可以考虑。目前你可以先在代码里用 if (CC_EDITOR) 判断一下。
这个算是 label 自己使用的,没有打算开放给用户,你需要用它做什么?
这个具体表现是什么情况呢?(可否在描述一下?)之前有修复 positionType 的问题,不知道是否跟这个有关系?
MAC SAFARI 上声音不播放的问题, 无论是 2.1.0 还是 2.1.2, 都不播放, 网上有说法是要把浏览器的声音打开. 但奇怪的是, 我有另一个项目 2.1.0, 却没这个问题. 原因不明.
https://github.com/cocos-creator/engine/pull/4991/files
浏览器声音播放问题可以参考这个 pr 的修复
不能播放是因为浏览器的安全限制,需要用户交互之后才能播放声音
2.1.2使用上面的方法修改在Microsoft edge 上面还是播放声音没有效果,并且会报错:
WEBAUDIO17047: Time constant 必须是正数。
SCRIPT5022: SCRIPT5022: InvalidAccessError
声音是两个问题
- 需要正数的问题
this.gainObj[‘gain’].setTargetAtTime(this.volume, this._context.currentTime, 0)中最后的的0改为0.01, 有两处. 这个是临时方案 - MAC SAFARI声音播放无声音问题
https://github.com/cocos-creator/engine/pull/4991
我不知道能不能解释清楚, 有一个插件脚本和一个JSON文件, 都是描述的多语言字符串, 相同的内容. 插件脚本给编辑器用, 正式发布用的是JSON. 因为文件较大, 希望发布的时候, 不要带上那个插件脚本.
想在外部注入代码修改断字规则, 不过这个也没什么. 目前发现引擎的断字规则不能正确处理越南语言.
目前用 CC_EDITOR 判断一下即可。构建时内容会剔除掉的。
2.1.2的引擎每次打开的时候应该会编译吧?打断点看到也是更改后的,但是为什么没生效呢,还需要额外用node编译一次?