CocosCreator

由于cocos舍弃了cocostudio,需要关注官方推荐的creator了。
1 creator实现了:脚本化(jS开发), 组件化, 数据驱动器。
2 CocosCreator + 从零开始(15楼) - CocoaChi…
http://www.cocoachina.com/bbs/3g/read.php?tid=460272
新编辑器Cocos Creator发布:对不起我来晚了!–
学无止境的专栏 博客-- http://blog.csdn.net/dingxiaowei2013/article/details/50551900
cocos creator第一个星星游戏 – http://docs.cocos.com/creator/manual/zh/getting-started/quick-start.html
Cocos Creator跨平台的调用方法 –http://blog.csdn.net/potato47/article/details/68954272 js与Java和OC互调用
-----------------------注:转载
1 但是脚本化并不是意味着整个引擎都用脚本来写。Cocos Creator的框架核心仍然是大家熟悉的整个Cocos 2d-x C++引擎,引擎的主循环和绝大多数计算工作都在C++层面完成。只是利用JavaScript bindings绑定出Cocos Creator的JavaScript API。所以大家无需担心性能问题。

2 为什么在脚本里面选择JavaScript而不是Lua

  1. 无数的大公司,包括Microsoft, Google, Apple, Facebook, Intel等都在大力投入JavaScript的研发上面,但Lua则没有这个生态。JavaScript领域,有node.js,有npm,这些Lua都没有;有Intel的nw.js(node-webkit),有Facebook的React,有Apple和Google鼎力支持的HTML5和WebGL,有Mozilla的asm.js,在桌面跨平台领域有Github的Electron和Atom,有Adobe的Brackets,而我们没有见到上述哪家大公司投入资源大把资源在Lua上,这-是-事-实。请各位老板深思为什么巨头们都做出这样的选择,或者你们觉得自己比这些大公司的决策者更聪明也无妨。

  2. JavaScript可以让游戏跨Native, Runtime, 纯HTML5三种模式,也就是我上文所说的「广义跨平台」,而Lua只能发布前两种。今天腾讯QQ浏览器、QQ空间、QQ游戏大厅已经都开放手机页游接入了,腾讯工作室的《欢乐斗地主》已经发布了基于Cocos Play加速器的手机页游版本。如果哪一天微信或手机QQ开放了 HTML5游戏领域,那时候再来Lua转JavaScript就已经来不及了,各位老板只能面壁哭去了。

  3. Cocos Creator底层选择了Github公司开发的开源项目Electron。而Eletron是Github官方的代码编辑器Atom,以及微软开源项目VS Code所用的底层基础。其实我们很有幸和国际巨头公司做出了同样的架构选择。如我前文所说,当然也不排除未来和VS Code合作、快速提高Creator开发体验的各种可能。

引用我一个好友对Cocos Creator的评论:「有了这玩意儿我还管什么Lua啊,游戏公司要的就是降低开发成本,管它是什么编程语言」

3 C++和Lua的死忠粉,希望学一门语言吃一辈子的程序员 —— 不适合。为了Cocos Creator的纯粹,我选择了JavaScript作为引擎、编辑器、游戏逻辑的核心语言。
4 Cocos Creator开源吗?
在Cocos Creator里面,得益于高度可扩展的架构设计,对于不涉及核心技术门槛的编辑器组件,我们全部开源奉献给行业。完全开源的部分包括:
CocosCreator_第1张图片
3Label:新增overFlow
换图片:拖入Sprite sFame
widget实现屏幕适配
LayOut实现子节点自动对齐
4
组件执行顺序
遇到问题: 12.1日
1 mask:是限制Node显示区域的。是组件不是Size属性. ==Studio中Layout裁剪属性
2 scroView 不显示内容。因为content中没有添加Layout组件/代码中没有设置位置
4 如何修改Canvas组件设计屏幕尺寸?
12.2日
Cocos Creator中获取和加载资源(官方文档摘录)
Cocos Creator 模块化脚本(摘自官方文档)
Cocos creator】文件数据读写,用户数据存储
Cocos creator中出现Uncaught TypeError: Cannot read property ‘node’ of undefined
1 vsCode修改代码后,依旧执行旧代码。 办法:ctrl+s 刷新编辑器
2 如何动态从图集中修改图片
3 函数嵌套报错误: XXX not undefined; 办法:定义一个var self =this; 因为在嵌套this会产生歧义
https://blog.csdn.net/lipei1220/article/details/39339557
4 GameLogic类编译报错:声明类用cc.Class使用时要先new。 而var XXX = {}这种不用new直接用
5 数组[] 从0开始 http://www.jb51.net/article/94050.htm

1: 2种格式区别
A var cfg = {
moveSpeed: 10,
version: “0.15”,
showTutorial: true,

load: function () {
    // …
}

};
B var Rotate = cc.Class({。。。}。。
C function PokerSprite(nValeu, nFlower)
{
this.value = nValeu;
this.flower = nFlower,
this.add = function(a, b){ return nValeu + nFlower ; //a+b;}
}
PokerSprite.prototype.onSum =function(a, b){
return a+b;
}
PokerSprite.onSub = function(a, b){
return a-b;
}
module.exports = PokerSprite;
(前者A是obj 后者B C是类) 类在使用前要先new
CocosCreator_第2张图片CocosCreator_第3张图片
CocosCreator_第4张图片scroview遇到的大坑CocosCreator_第5张图片这里写图片描述
这里写图片描述这里写图片描述
每一个单独的脚本文件就构成一个模块。所有用户代码最终会由 Cocos Creator 编译为原生的 JavaScript,
var Rotate = require(“Rotate”); require 返回的就是被模块导出的对象,通常我们都会将结果立即存到一个变量(var Rotate),传入 require 的字符串就是文件名,不包含路径也不包含后缀,而且大小写敏感
---------------------------不会— 百度 goole 翻API
12.13. 菊花弹框 手动绑定事件/post发射事件/开始按钮
1 _pBtn.active = false;为啥不会隐藏?用btn组件调用node”组件”的函数。。。 children[I]方法 /AlterLayer回调实现null
2 闭包一般是传到其他的类中执行,或者其他线程. / 非阻塞=-1,设为阻塞模式 就啥都没卡主

12.9
1 一般将需要渲染Node都挂在Canvars下-适配 /WebGL(web图形库):是一种JavaScript API;与openGl一样
2 只有在属性声明时规定type为引用类型时,才能将资源或节点拖拽到该属性检查器上。
3 update:我们一般把需要经常计算或及时更新的逻辑内容放在这里
4 事件处理是在节点(cc.Node)中完成的。对于组件,可以通过访问节点 this.node /
一个节点上只能添加一个渲染组件sp,label 粒子 /Canvas下面Z值大 组件脚本执行顺:上面先执行
5 创建(cc.instantiate)和销毁(X.destroy)非常耗费性;如大量敌人或子弹.cc.NodePool put/get/szie
6 bug:node.node./this.getComponent(“”) 脚本组件是绑定在节点上的,先获取到节点-再用该节点获取脚本.
8 unity用directX(左手Z指向屏幕里) cocos用OpenGL(右手so Z值越大越在前)
7 if你尝试访问null值,将会在陨石跑出TypeError错误 / js [push/pop/length/下标0] 与 {s.a==s[“a”]}的区别 /(function(){})();如何理解? / 二维数组
8 使用:预加载All/ this.emptyAtlas.getSpriteFrame(“Res-Face-5“)-是/ /statics 静态方法变量-单列 /(“btn”+j+1)得出“btn01/btn02…” 运算符从左至右的,成了字符串相加 /[]常用函数sort 清空length=0 删除.splice
.emit/on无需同一node-冒泡派送(子到父不能反) bug:node在隐藏时收不到infor / target节点类型 detail自定义数据 / ProgressBar slider的坑 / command+p @类文件+方法
9 cc.class()调用cc对象中的class方法 / cc引擎中所有的类,函数,属性和常量都在这个命名空间中定义 / 你匿名函数or{}常常做函数参数 ()=>{}与前者等价. / debug:F9/5/11/10 Log

切换纹理setTexture和setSpriteFrame;不会goole和查源码
pushScene(栈/保留状态/占内存/init不走Enter走)

https://zhidao.baidu.com/question/288052936.html
https://zhidao.baidu.com/question/156291805.html

12.6
1 框架支持系统事件包含鼠标、触摸、键盘、重力传感四种;
鼠标和触摸事件是被直接触发在相关节点上的,被称为节点系统事件。键盘和重力传感事件被称为全局系统事件(与节点树不相关)
既可以使用枚举类型也可以直接使用事件名来注册. on/off
2 RPG:
vt=v0+a 加速度a=*v/*t
匀变速直线运动:匀加速 匀减速
竖直上抛运动: 上升过程是匀减速直线运动,下落过程是匀加速直线运动.全过程:是初速度为VO,加速度为g的
物体做加速(减速)运动的条件是加速度方向与初速度方向相同(相反)
牛顿第二定律:a=F/m
位移是表示质点位置的变化的物理量 /路程是指质点所通过的实际轨迹的长度 是标量 /速度:表示质点的运动快慢和方向,是矢量
3 快速上手:制作第一个游戏 http://docs.cocos.com/creator/manual/zh/getting-started/quick-start.html

12.1日
canvas Widget. Layout mask组件。属性size。。
12.2日
【Cocos creator】文件数据读写,用户数据存储
Cocos creator中出现Uncaught TypeError: Cannot read property ‘node’ of undefined
1 vsCode修改代码后,依旧执行旧代码。 办法:ctrl+s 刷新编辑器
2 如何动态从图集中修改图片
3 函数嵌套报错误: XXX not undefined; 办法:定义一个var self =this; 因为在嵌套this会产生歧义


*文档的缺失,是现在 CCC 最大的问题,但是这也是没有办法的,毕竟这是个时间精力的问题,把有限的精力,放在最重要的工作上,才是正确的选择
*其实对于一个好的程序员来说,学会看源码是极其基础的能力,你想要的大部分功能,在 CCC自带的源码中,其实已
经都有,只是你需要自己去寻找
*现在的 CCC 社区还是十分活跃的,大部分的问题,在这里基本上都能找到答案,毕竟有 cocos 引擎这么多年的用户积累

你可能感兴趣的:(cocos2d-x,3.0)