mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-10-09 20:45:23 +00:00
初始化
This commit is contained in:
36
jsb-adapter/engine/assemblers/sprite/2d/mesh.js
Normal file
36
jsb-adapter/engine/assemblers/sprite/2d/mesh.js
Normal file
@@ -0,0 +1,36 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated engine source code (the "Software"), a limited,
|
||||
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
||||
to use Cocos Creator solely to develop games on your target platforms. You shall
|
||||
not use Cocos Creator software for developing other software or tools that's
|
||||
used for developing games. You are not granted to publish, distribute,
|
||||
sublicense, and/or sell copies of Cocos Creator.
|
||||
|
||||
The software or tools in this License Agreement are licensed, not sold.
|
||||
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
Object.assign(cc.Sprite.__assembler__.Mesh.prototype, {
|
||||
updateWorldVerts (sprite) {
|
||||
let local = this._local;
|
||||
let world = this._renderData.vDatas[0];
|
||||
let floatsPerVert = this.floatsPerVert;
|
||||
for (let i = 0, l = local.length / 2; i < l; i++) {
|
||||
world[i*floatsPerVert] = local[i*2];
|
||||
world[i*floatsPerVert+1] = local[i*2 + 1];
|
||||
}
|
||||
},
|
||||
});
|
37
jsb-adapter/engine/assemblers/sprite/2d/radial-filled.js
Normal file
37
jsb-adapter/engine/assemblers/sprite/2d/radial-filled.js
Normal file
@@ -0,0 +1,37 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated engine source code (the "Software"), a limited,
|
||||
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
||||
to use Cocos Creator solely to develop games on your target platforms. You shall
|
||||
not use Cocos Creator software for developing other software or tools that's
|
||||
used for developing games. You are not granted to publish, distribute,
|
||||
sublicense, and/or sell copies of Cocos Creator.
|
||||
|
||||
The software or tools in this License Agreement are licensed, not sold.
|
||||
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
Object.assign(cc.Sprite.__assembler__.RadialFilled.prototype, {
|
||||
updateWorldVerts (sprite) {
|
||||
let local = this._local;
|
||||
let world = this._renderData.vDatas[0];
|
||||
let floatsPerVert = this.floatsPerVert;
|
||||
for (let offset = 0, l = world.length; offset < l; offset += floatsPerVert) {
|
||||
world[offset] = local[offset];
|
||||
world[offset+1] = local[offset + 1];
|
||||
}
|
||||
},
|
||||
});
|
39
jsb-adapter/engine/assemblers/sprite/2d/simple.js
Normal file
39
jsb-adapter/engine/assemblers/sprite/2d/simple.js
Normal file
@@ -0,0 +1,39 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated engine source code (the "Software"), a limited,
|
||||
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
||||
to use Cocos Creator solely to develop games on your target platforms. You shall
|
||||
not use Cocos Creator software for developing other software or tools that's
|
||||
used for developing games. You are not granted to publish, distribute,
|
||||
sublicense, and/or sell copies of Cocos Creator.
|
||||
|
||||
The software or tools in this License Agreement are licensed, not sold.
|
||||
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
let proto = cc.Sprite.__assembler__.Simple.prototype;
|
||||
let nativeProto = renderer.SimpleSprite2D.prototype;
|
||||
|
||||
proto.updateWorldVerts = function(comp) {
|
||||
this._dirtyPtr[0] |= cc.Assembler.FLAG_VERTICES_DIRTY;
|
||||
};
|
||||
|
||||
proto._extendNative = function () {
|
||||
nativeProto.ctor.call(this);
|
||||
};
|
||||
|
||||
proto.initLocal = function () {
|
||||
this._local = new Float32Array(4);
|
||||
nativeProto.setLocalData.call(this, this._local);
|
||||
};
|
40
jsb-adapter/engine/assemblers/sprite/2d/sliced.js
Normal file
40
jsb-adapter/engine/assemblers/sprite/2d/sliced.js
Normal file
@@ -0,0 +1,40 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated engine source code (the "Software"), a limited,
|
||||
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
||||
to use Cocos Creator solely to develop games on your target platforms. You shall
|
||||
not use Cocos Creator software for developing other software or tools that's
|
||||
used for developing games. You are not granted to publish, distribute,
|
||||
sublicense, and/or sell copies of Cocos Creator.
|
||||
|
||||
The software or tools in this License Agreement are licensed, not sold.
|
||||
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
let proto = cc.Sprite.__assembler__.Sliced.prototype;
|
||||
let nativeProto = renderer.SlicedSprite2D.prototype;
|
||||
|
||||
proto.updateWorldVerts = function(comp) {
|
||||
this._dirtyPtr[0] |= cc.Assembler.FLAG_VERTICES_DIRTY;
|
||||
};
|
||||
|
||||
proto._extendNative = function () {
|
||||
nativeProto.ctor.call(this);
|
||||
};
|
||||
|
||||
proto.initLocal = function () {
|
||||
this._local = new Float32Array(8);
|
||||
nativeProto.setLocalData.call(this, this._local);
|
||||
};
|
63
jsb-adapter/engine/assemblers/sprite/2d/tiled.js
Normal file
63
jsb-adapter/engine/assemblers/sprite/2d/tiled.js
Normal file
@@ -0,0 +1,63 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2018 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated engine source code (the "Software"), a limited,
|
||||
worldwide, royalty-free, non-assignable, revocable and non-exclusive license
|
||||
to use Cocos Creator solely to develop games on your target platforms. You shall
|
||||
not use Cocos Creator software for developing other software or tools that's
|
||||
used for developing games. You are not granted to publish, distribute,
|
||||
sublicense, and/or sell copies of Cocos Creator.
|
||||
|
||||
The software or tools in this License Agreement are licensed, not sold.
|
||||
Xiamen Yaji Software Co., Ltd. reserves all rights not expressly granted to you.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
Object.assign(cc.Sprite.__assembler__.Tiled.prototype, {
|
||||
updateWorldVerts (sprite) {
|
||||
let renderData = this._renderData;
|
||||
let local = this._local;
|
||||
let localX = local.x, localY = local.y;
|
||||
let world = renderData.vDatas[0];
|
||||
let { row, col } = this;
|
||||
|
||||
let x, x1, y, y1;
|
||||
let floatsPerVert = this.floatsPerVert;
|
||||
let vertexOffset = 0;
|
||||
for (let yindex = 0, ylength = row; yindex < ylength; ++yindex) {
|
||||
y = localY[yindex];
|
||||
y1 = localY[yindex + 1];
|
||||
for (let xindex = 0, xlength = col; xindex < xlength; ++xindex) {
|
||||
x = localX[xindex];
|
||||
x1 = localX[xindex + 1];
|
||||
|
||||
// lb
|
||||
world[vertexOffset] = x;
|
||||
world[vertexOffset + 1] = y;
|
||||
vertexOffset += floatsPerVert;
|
||||
// rb
|
||||
world[vertexOffset] = x1;
|
||||
world[vertexOffset + 1] = y;
|
||||
vertexOffset += floatsPerVert;
|
||||
// lt
|
||||
world[vertexOffset] = x;
|
||||
world[vertexOffset + 1] = y1;
|
||||
vertexOffset += floatsPerVert;
|
||||
// rt
|
||||
world[vertexOffset] = x1;
|
||||
world[vertexOffset + 1] = y1;
|
||||
vertexOffset += floatsPerVert;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
Reference in New Issue
Block a user