cocos2d-cli 1.6.4 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/script_map.json +25 -25
- package/dist/bin/cocos2d-cli.js +64 -0
- package/dist/src/commands/add-component.js +3 -0
- package/dist/src/commands/add.js +3 -0
- package/dist/src/commands/build.js +6 -0
- package/dist/src/commands/create-scene.js +3 -0
- package/dist/src/commands/get.js +3 -0
- package/dist/src/commands/prefab-create.js +109 -0
- package/dist/src/commands/remove-component.js +3 -0
- package/dist/src/commands/remove.js +3 -0
- package/dist/src/commands/screenshot.js +41 -0
- package/dist/src/commands/set-component.js +3 -0
- package/dist/src/commands/set.js +3 -0
- package/dist/src/commands/tree.js +24 -0
- package/{src → dist/src}/lib/cc/CCButton.js +26 -33
- package/{src → dist/src}/lib/cc/CCCamera.js +20 -30
- package/{src → dist/src}/lib/cc/CCCanvas.js +10 -15
- package/{src → dist/src}/lib/cc/CCColor.js +6 -8
- package/{src → dist/src}/lib/cc/CCComponent.js +8 -29
- package/{src → dist/src}/lib/cc/CCLabel.js +44 -51
- package/{src → dist/src}/lib/cc/CCNode.js +52 -118
- package/{src → dist/src}/lib/cc/CCObject.js +4 -8
- package/{src → dist/src}/lib/cc/CCPrefab.js +77 -100
- package/{src → dist/src}/lib/cc/CCRect.js +6 -8
- package/{src → dist/src}/lib/cc/CCRichText.js +10 -16
- package/{src → dist/src}/lib/cc/CCScene.js +3 -13
- package/dist/src/lib/cc/CCSceneAsset.js +242 -0
- package/{src → dist/src}/lib/cc/CCSize.js +4 -8
- package/{src → dist/src}/lib/cc/CCSprite.js +21 -33
- package/{src → dist/src}/lib/cc/CCTrs.js +4 -29
- package/{src → dist/src}/lib/cc/CCVec2.js +4 -8
- package/{src → dist/src}/lib/cc/CCVec3.js +5 -8
- package/{src → dist/src}/lib/cc/CCWidget.js +20 -24
- package/dist/src/lib/fire-utils.js +86 -0
- package/dist/src/lib/json-parser.js +114 -0
- package/dist/src/lib/node-utils.js +131 -0
- package/{src → dist/src}/lib/screenshot-core.js +54 -119
- package/dist/src/lib/templates.js +17 -0
- package/dist/src/lib/utils.js +81 -0
- package/package.json +40 -33
- package/bin/cocos2d-cli.js +0 -152
- package/src/commands/add-component.js +0 -112
- package/src/commands/add.js +0 -177
- package/src/commands/build.js +0 -78
- package/src/commands/create-scene.js +0 -181
- package/src/commands/get.js +0 -108
- package/src/commands/prefab-create.js +0 -111
- package/src/commands/remove-component.js +0 -111
- package/src/commands/remove.js +0 -99
- package/src/commands/screenshot.js +0 -108
- package/src/commands/set-component.js +0 -119
- package/src/commands/set.js +0 -107
- package/src/commands/tree.js +0 -29
- package/src/lib/cc/CCSceneAsset.js +0 -303
- package/src/lib/cc/index.js +0 -42
- package/src/lib/fire-utils.js +0 -374
- package/src/lib/json-parser.js +0 -185
- package/src/lib/node-utils.js +0 -395
- package/src/lib/screenshot/favicon.ico +0 -0
- package/src/lib/screenshot/index.html +0 -30
- package/src/lib/templates.js +0 -49
- package/src/lib/utils.js +0 -202
package/src/lib/templates.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 模板模块
|
|
3
|
-
* 提供预制体和场景的创建方法
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
const { CCNode, CCScene, CCSceneAsset, CCPrefab, CCPrefabInfo } = require('./cc');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 创建预制体
|
|
10
|
-
* @param {string} name - 预制体名称
|
|
11
|
-
* @returns {CCPrefab}
|
|
12
|
-
*/
|
|
13
|
-
function createPrefab(name = 'Node') {
|
|
14
|
-
const prefab = new CCPrefab();
|
|
15
|
-
const node = new CCNode(name);
|
|
16
|
-
const info = new CCPrefabInfo();
|
|
17
|
-
|
|
18
|
-
prefab._root = node;
|
|
19
|
-
node._prefab = info;
|
|
20
|
-
|
|
21
|
-
return prefab;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* 创建场景
|
|
26
|
-
* @param {string} name - 场景名称
|
|
27
|
-
* @returns {CCSceneAsset}
|
|
28
|
-
*/
|
|
29
|
-
function createScene(name = 'NewScene') {
|
|
30
|
-
const asset = new CCSceneAsset();
|
|
31
|
-
const scene = new CCScene(name);
|
|
32
|
-
|
|
33
|
-
asset._scene = scene;
|
|
34
|
-
scene._parent = null;
|
|
35
|
-
scene._children = [];
|
|
36
|
-
|
|
37
|
-
return asset;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
module.exports = {
|
|
41
|
-
createPrefab,
|
|
42
|
-
createScene,
|
|
43
|
-
// 导出类供其他模块使用
|
|
44
|
-
CCNode,
|
|
45
|
-
CCScene,
|
|
46
|
-
CCSceneAsset,
|
|
47
|
-
CCPrefab,
|
|
48
|
-
CCPrefabInfo
|
|
49
|
-
};
|
package/src/lib/utils.js
DELETED
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 公共工具模块
|
|
3
|
-
* 提供颜色解析、UUID 生成等通用功能
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 解析颜色字符串 #RRGGBB 或 #RRGGBBAA
|
|
8
|
-
* @param {string} colorStr - 颜色字符串
|
|
9
|
-
* @returns {object|null} - 颜色对象 {r, g, b, a} 或 null
|
|
10
|
-
*/
|
|
11
|
-
function parseColor(colorStr) {
|
|
12
|
-
if (!colorStr || typeof colorStr !== 'string') return null;
|
|
13
|
-
|
|
14
|
-
let hex = colorStr.replace('#', '');
|
|
15
|
-
if (hex.length === 6) {
|
|
16
|
-
return {
|
|
17
|
-
r: parseInt(hex.substring(0, 2), 16),
|
|
18
|
-
g: parseInt(hex.substring(2, 4), 16),
|
|
19
|
-
b: parseInt(hex.substring(4, 6), 16),
|
|
20
|
-
a: 255
|
|
21
|
-
};
|
|
22
|
-
} else if (hex.length === 8) {
|
|
23
|
-
return {
|
|
24
|
-
r: parseInt(hex.substring(0, 2), 16),
|
|
25
|
-
g: parseInt(hex.substring(2, 4), 16),
|
|
26
|
-
b: parseInt(hex.substring(4, 6), 16),
|
|
27
|
-
a: parseInt(hex.substring(6, 8), 16)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* 解析颜色字符串并返回 cc.Color 格式
|
|
35
|
-
* @param {string} colorStr - 颜色字符串
|
|
36
|
-
* @returns {object|null} - cc.Color 对象或 null
|
|
37
|
-
*/
|
|
38
|
-
function parseColorToCcColor(colorStr) {
|
|
39
|
-
const color = parseColor(colorStr);
|
|
40
|
-
if (!color) return null;
|
|
41
|
-
return { "__type__": "cc.Color", ...color };
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* 将 cc.Color 对象转为 #RRGGBB 字符串
|
|
46
|
-
* @param {object} color - cc.Color 对象
|
|
47
|
-
* @returns {string} - #RRGGBB 格式字符串
|
|
48
|
-
*/
|
|
49
|
-
function colorToHex(color) {
|
|
50
|
-
if (!color) return '#ffffff';
|
|
51
|
-
const r = (color.r || 0).toString(16).padStart(2, '0');
|
|
52
|
-
const g = (color.g || 0).toString(16).padStart(2, '0');
|
|
53
|
-
const b = (color.b || 0).toString(16).padStart(2, '0');
|
|
54
|
-
return `#${r}${g}${b}`;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* 生成 UUID
|
|
59
|
-
* @returns {string} - UUID 字符串
|
|
60
|
-
*/
|
|
61
|
-
function generateUUID() {
|
|
62
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
|
63
|
-
const r = Math.random() * 16 | 0;
|
|
64
|
-
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
65
|
-
return v.toString(16);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* 将标准 UUID 压缩为 Cocos Creator 格式(22位 base64)
|
|
71
|
-
* @param {string} uuid - 标准 UUID(如 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
|
|
72
|
-
* @returns {string} - 压缩后的 UUID(如 "a5esZu+45LA5mBpvttspPD")
|
|
73
|
-
*/
|
|
74
|
-
function compressUUID(uuid) {
|
|
75
|
-
if (!uuid) return '';
|
|
76
|
-
// 去掉横线
|
|
77
|
-
const hex = uuid.replace(/-/g, '');
|
|
78
|
-
if (hex.length !== 32) return uuid; // 不是标准格式,直接返回
|
|
79
|
-
|
|
80
|
-
// 转 base64
|
|
81
|
-
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
82
|
-
let result = '';
|
|
83
|
-
for (let i = 0; i < hex.length; i += 3) {
|
|
84
|
-
const byte1 = parseInt(hex.substr(i, 2), 16);
|
|
85
|
-
let byte2 = 0, byte3 = 0;
|
|
86
|
-
let group = 1;
|
|
87
|
-
|
|
88
|
-
if (i + 2 < hex.length) {
|
|
89
|
-
byte2 = parseInt(hex.substr(i + 2, 2), 16);
|
|
90
|
-
group = 2;
|
|
91
|
-
}
|
|
92
|
-
if (i + 4 < hex.length) {
|
|
93
|
-
byte3 = parseInt(hex.substr(i + 4, 2), 16);
|
|
94
|
-
group = 3;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// 由于我们是每3个字符(1.5字节)处理,需要重新计算
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// 更简单的方式:将32个十六进制字符转为16字节,再base64编码
|
|
101
|
-
const bytes = [];
|
|
102
|
-
for (let i = 0; i < hex.length; i += 2) {
|
|
103
|
-
bytes.push(parseInt(hex.substr(i, 2), 16));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Base64 编码
|
|
107
|
-
for (let i = 0; i < bytes.length; i += 3) {
|
|
108
|
-
const b1 = bytes[i];
|
|
109
|
-
const b2 = bytes[i + 1] || 0;
|
|
110
|
-
const b3 = bytes[i + 2] || 0;
|
|
111
|
-
|
|
112
|
-
result += chars[(b1 >> 2) & 0x3f];
|
|
113
|
-
result += chars[((b1 & 0x03) << 4) | ((b2 >> 4) & 0x0f)];
|
|
114
|
-
result += chars[((b2 & 0x0f) << 2) | ((b3 >> 6) & 0x03)];
|
|
115
|
-
result += chars[b3 & 0x3f];
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// 返回前22个字符(去掉末尾填充)
|
|
119
|
-
return result.substring(0, 22);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* 生成压缩格式的 UUID(Cocos Creator 节点使用)
|
|
124
|
-
* @returns {string} - 压缩后的 UUID(22位)
|
|
125
|
-
*/
|
|
126
|
-
function generateCompressedUUID() {
|
|
127
|
-
return compressUUID(generateUUID());
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* 生成 Cocos Creator 组件 ID(22位 base64 格式)
|
|
132
|
-
* @returns {string} - 组件 ID 字符串
|
|
133
|
-
*/
|
|
134
|
-
function generateId() {
|
|
135
|
-
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
136
|
-
let result = '';
|
|
137
|
-
for (let i = 0; i < 22; i++) {
|
|
138
|
-
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
139
|
-
}
|
|
140
|
-
return result;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* 解析命令行选项
|
|
145
|
-
* @param {string[]} args - 命令行参数数组
|
|
146
|
-
* @param {number} startIndex - 开始解析的索引
|
|
147
|
-
* @returns {object} - 选项对象
|
|
148
|
-
*/
|
|
149
|
-
function parseOptions(args, startIndex = 0) {
|
|
150
|
-
const options = {};
|
|
151
|
-
for (let i = startIndex; i < args.length; i++) {
|
|
152
|
-
const arg = args[i];
|
|
153
|
-
if (arg.startsWith('--')) {
|
|
154
|
-
const eqIndex = arg.indexOf('=');
|
|
155
|
-
if (eqIndex > 2) {
|
|
156
|
-
const key = arg.substring(2, eqIndex);
|
|
157
|
-
const value = arg.substring(eqIndex + 1);
|
|
158
|
-
options[key] = value;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return options;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* 输出 JSON 格式结果
|
|
167
|
-
* @param {object} data - 要输出的数据
|
|
168
|
-
*/
|
|
169
|
-
function outputJson(data) {
|
|
170
|
-
console.log(JSON.stringify(data));
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* 输出错误信息
|
|
175
|
-
* @param {string} message - 错误信息
|
|
176
|
-
* @param {object} extra - 额外信息
|
|
177
|
-
*/
|
|
178
|
-
function outputError(message, extra = {}) {
|
|
179
|
-
console.log(JSON.stringify({ error: message, ...extra }));
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* 输出成功信息
|
|
184
|
-
* @param {object} data - 成功数据
|
|
185
|
-
*/
|
|
186
|
-
function outputSuccess(data) {
|
|
187
|
-
console.log(JSON.stringify({ success: true, ...data }));
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
module.exports = {
|
|
191
|
-
parseColor,
|
|
192
|
-
parseColorToCcColor,
|
|
193
|
-
colorToHex,
|
|
194
|
-
generateUUID,
|
|
195
|
-
compressUUID,
|
|
196
|
-
generateCompressedUUID,
|
|
197
|
-
generateId,
|
|
198
|
-
parseOptions,
|
|
199
|
-
outputJson,
|
|
200
|
-
outputError,
|
|
201
|
-
outputSuccess
|
|
202
|
-
};
|