Skip to content

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 用得熟就是理解引擎。

🎤 面试会怎么问

  1. Creator2.x 底层为什么还是 C++?
  2. JSB 是什么?
  3. 为什么减少 JSB 调用可以优化性能?

📝 今日练习

画出:

TypeScript → JS Engine → JSB → Cocos2d-x → GPU → Screen

并思考每一层负责什么。


✅ 本课总结

真正的高级开发,不是 API 记得多,而是知道每一层为什么存在。

下一课: this.node.x = 100 到底发生了什么?