我看了下cocos2d-js的代码,感觉疑惑,主要是我对js只知道些皮毛
1.ctor是构造函数。js面相对象头有这语法吗?是不是cocos2d-js自己搞的一套框架
2.关于继承:例如var Enemy = cc.Sprite.extend({}); 这个是什么语法,js里面有这种继承方式吗
3.在ctor对应的函数头总会先调用this._super()之类,js头有_super函数吗?它是怎么调到父类的构造函数的
希望有人能给我点指点,让我快速入门cocos2d-js
我也是刚开始接触cocos2d-js,没接触过游戏开发,不过本职是做js的
上面这三个都不是js自带的,都是cocos封装的,底层还是js的面向对象编程
extend就是封了个方法,里面参数是个json,这方法内部会复制父类的所有属性,同时遍历json把函数写入自身。lz看下面cocos的源码就懂了
cc.Class = function () {};
cc.Class.extend = function (props) {
var _super = this.prototype;
…其他代码块…
function Class() {
this.__instanceId = ClassManager.getNewInstanceId();
// All construction is actually done in the init method
if (this.ctor)
this.ctor.apply(this, arguments);
}
…其他代码块,中间有调用Class来模拟构造函数…
};
这块的源码在CCClass.js里
lz以普通面向对象编程(Java或者C#)理解就好了,顺便,cocosJs的文档和API真不好找,看了好几天,感觉还在入门边缘……
不错,是我想要的答案,不过这论坛怎么设置帖子为已解决,我还不太清楚