mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-10-09 14:05:24 +00:00
[adapters] 增加小游戏适配部分源码
This commit is contained in:
59
adapters/platforms/bytedance/wrapper/engine/Label.js
Normal file
59
adapters/platforms/bytedance/wrapper/engine/Label.js
Normal file
@@ -0,0 +1,59 @@
|
||||
if (cc && cc.Label) {
|
||||
const gfx = cc.gfx;
|
||||
const Label = cc.Label;
|
||||
const globalAdapter = __globalAdapter;
|
||||
// shared label canvas
|
||||
if (!globalAdapter.isSubContext) {
|
||||
let _sharedLabelCanvas = document.createElement('canvas');
|
||||
let _sharedLabelCanvasCtx = _sharedLabelCanvas.getContext('2d');
|
||||
let canvasData = {
|
||||
canvas: _sharedLabelCanvas,
|
||||
context: _sharedLabelCanvasCtx,
|
||||
};
|
||||
cc.game.on(cc.game.EVENT_ENGINE_INITED, function () {
|
||||
Object.assign(Label._canvasPool, {
|
||||
get() {
|
||||
return canvasData;
|
||||
},
|
||||
|
||||
put() {
|
||||
// do nothing
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// need to fix ttf font black border at the sdk verion lower than 2.0.0
|
||||
let sysInfo = tt.getSystemInfoSync();
|
||||
if (Number.parseInt(sysInfo.SDKVersion[0]) < 2) {
|
||||
let _originUpdateMaterial = Label.prototype._updateMaterialWebgl;
|
||||
Object.assign(Label.prototype, {
|
||||
_updateMaterialWebgl () {
|
||||
_originUpdateMaterial.call(this);
|
||||
// only fix when srcBlendFactor is SRC_ALPHA
|
||||
if (this.srcBlendFactor !== cc.macro.BlendFactor.SRC_ALPHA
|
||||
|| globalAdapter.isDevTool || this.font instanceof cc.BitmapFont) {
|
||||
return;
|
||||
}
|
||||
|
||||
// init blend factor
|
||||
let material = this._materials[0];
|
||||
if (!this._frame || !material) {
|
||||
return;
|
||||
}
|
||||
let dstBlendFactor = this.dstBlendFactor;
|
||||
// Premultiplied alpha on runtime when sdk verion is lower than 2.0.0
|
||||
let srcBlendFactor = cc.macro.BlendFactor.ONE;
|
||||
|
||||
// set blend func
|
||||
material.effect.setBlend(
|
||||
true,
|
||||
gfx.BLEND_FUNC_ADD,
|
||||
srcBlendFactor, dstBlendFactor,
|
||||
gfx.BLEND_FUNC_ADD,
|
||||
srcBlendFactor, dstBlendFactor,
|
||||
);
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
1
adapters/platforms/bytedance/wrapper/engine/index.js
Normal file
1
adapters/platforms/bytedance/wrapper/engine/index.js
Normal file
@@ -0,0 +1 @@
|
||||
require('./Label');
|
Reference in New Issue
Block a user