mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-10-09 17:15:22 +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;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
9
jsb-adapter/engine/assemblers/sprite/3d/bar-filled.js
Normal file
9
jsb-adapter/engine/assemblers/sprite/3d/bar-filled.js
Normal file
@@ -0,0 +1,9 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.BarFilled3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.BarFilled3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
updateWorldVerts: cc.Assembler3D.updateWorldVerts
|
||||
})
|
||||
})()
|
20
jsb-adapter/engine/assemblers/sprite/3d/mesh.js
Normal file
20
jsb-adapter/engine/assemblers/sprite/3d/mesh.js
Normal file
@@ -0,0 +1,20 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.Mesh3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.Mesh3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
updateWorldVerts (sprite) {
|
||||
let local = this._local;
|
||||
let world = this._renderData.vDatas[0];
|
||||
|
||||
let floatsPerVert = this.floatsPerVert, offset = 0;
|
||||
for (let i = 0, j = 0, l = local.length/2; i < l; i++, offset += floatsPerVert) {
|
||||
j = i * 2;
|
||||
world[offset] = local[j];
|
||||
world[offset+1] = local[j+1];
|
||||
world[offset+2] = 0;
|
||||
}
|
||||
}
|
||||
})
|
||||
})()
|
19
jsb-adapter/engine/assemblers/sprite/3d/radial-filled.js
Normal file
19
jsb-adapter/engine/assemblers/sprite/3d/radial-filled.js
Normal file
@@ -0,0 +1,19 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.RadialFilled3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.RadialFilled3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
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];
|
||||
world[offset+2] = 0;
|
||||
}
|
||||
}
|
||||
})
|
||||
})()
|
10
jsb-adapter/engine/assemblers/sprite/3d/simple.js
Normal file
10
jsb-adapter/engine/assemblers/sprite/3d/simple.js
Normal file
@@ -0,0 +1,10 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.Simple3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.Simple3D.prototype;
|
||||
let nativeProto = renderer.SimpleSprite3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
_extendNative: nativeProto.ctor
|
||||
})
|
||||
})()
|
10
jsb-adapter/engine/assemblers/sprite/3d/sliced.js
Normal file
10
jsb-adapter/engine/assemblers/sprite/3d/sliced.js
Normal file
@@ -0,0 +1,10 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.Sliced3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.Sliced3D.prototype;
|
||||
let nativeProto = renderer.SlicedSprite3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
_extendNative: nativeProto.ctor
|
||||
})
|
||||
})()
|
49
jsb-adapter/engine/assemblers/sprite/3d/tiled.js
Normal file
49
jsb-adapter/engine/assemblers/sprite/3d/tiled.js
Normal file
@@ -0,0 +1,49 @@
|
||||
(function(){
|
||||
if(!cc.Sprite.__assembler__.Tiled3D) return;
|
||||
|
||||
let proto = cc.Sprite.__assembler__.Tiled3D.prototype;
|
||||
|
||||
Object.assign(proto, {
|
||||
updateWorldVerts (sprite) {
|
||||
let local = this._local;
|
||||
let localX = local.x, localY = local.y;
|
||||
let world = this._renderData.vDatas[0];
|
||||
let { row, col } = this;
|
||||
let x, x1, y, y1;
|
||||
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];
|
||||
|
||||
// left bottom
|
||||
let padding = 6;
|
||||
world[vertexOffset] = x;
|
||||
world[vertexOffset + 1] = y;
|
||||
world[vertexOffset + 2] = 0;
|
||||
vertexOffset += padding;
|
||||
|
||||
// right bottom
|
||||
world[vertexOffset] = x1;
|
||||
world[vertexOffset + 1] = y;
|
||||
world[vertexOffset + 2] = 0;
|
||||
vertexOffset += padding;
|
||||
|
||||
// left top
|
||||
world[vertexOffset] = x;
|
||||
world[vertexOffset + 1] = y1;
|
||||
world[vertexOffset + 2] = 0;
|
||||
vertexOffset += padding;
|
||||
|
||||
// right top
|
||||
world[vertexOffset] = x1;
|
||||
world[vertexOffset + 1] = y1;
|
||||
world[vertexOffset + 2] = 0;
|
||||
vertexOffset += padding;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})()
|
37
jsb-adapter/engine/assemblers/sprite/index.js
Normal file
37
jsb-adapter/engine/assemblers/sprite/index.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.
|
||||
****************************************************************************/
|
||||
|
||||
require('./2d/sliced.js');
|
||||
require('./2d/tiled.js');
|
||||
require('./2d/radial-filled.js');
|
||||
require('./2d/simple.js');
|
||||
require('./2d/mesh.js');
|
||||
|
||||
require('./3d/sliced.js');
|
||||
require('./3d/simple.js');
|
||||
require('./3d/tiled.js');
|
||||
require('./3d/mesh.js');
|
||||
require('./3d/bar-filled.js');
|
||||
require('./3d/radial-filled.js');
|
Reference in New Issue
Block a user