外观
Lesson 001|为什么 Cocos Creator 开发者必须理解 C++
Tags: #Creator2.x #Engine #C++ #JSBDifficulty: ⭐☆☆☆☆
🎯 本课目标
- 建立 Creator 2.x 整体架构认知
- 理解为什么后续课程需要学习 C++
- 明确未来两年的学习主线
💡 为什么需要学习 C++
很多 Creator 开发者都会认为:
我写的是 TypeScript,所以不需要懂 C++。
这是一个很常见的误区。
Creator 2.x 更像是一个上层开发框架,而真正负责渲染、资源管理、底层对象管理等工作的,是 Cocos2d-x。
学习 C++ 的目的不是为了背语法,而是为了真正理解引擎。
🧠 Creator 2.x 整体架构
text
TypeScript / JavaScript
│
▼
Creator Engine (JS)
│
▼
JSB(JavaScript Binding)
│
▼
Cocos2d-x(C++)
│
▼
OpenGL ES / Metal
│
▼
GPU
│
▼
Screen以后所有课程都会围绕这条主线展开。
🔍 核心概念
什么是 JSB?
JSB(JavaScript Binding)是 JS 与 C++ 之间的桥梁。
例如:
ts
this.node.x = 100;最终并不仅仅发生在 JS 层,而是会通过 JSB 调用到底层 C++。
💼 工作中的真实案例
ts
for (let i = 0; i < 10000; i++) {
node.x++;
}这种写法可能产生大量跨层调用。
更合理的方式:
ts
let x = node.x;
for (let i = 0; i < 10000; i++) {
x++;
}
node.x = x;核心思想:
尽量减少无意义的跨层交互。
⚠️ 常见误区
- Creator 就只有 JS。
- 学 C++ 就是为了转服务器。
- API 用得熟就是理解引擎。
🎤 面试会怎么问
- Creator2.x 底层为什么还是 C++?
- JSB 是什么?
- 为什么减少 JSB 调用可以优化性能?
📝 今日练习
画出:
TypeScript → JS Engine → JSB → Cocos2d-x → GPU → Screen
并思考每一层负责什么。
✅ 本课总结
真正的高级开发,不是 API 记得多,而是知道每一层为什么存在。
下一课: this.node.x = 100 到底发生了什么?