cocos
2016-07-25 08:28
232 查看
脚本编辑:
1.一个脚本会有初始的三个方法体 分别是 properties onLoad update 都是不需要调用直接执行的方法
1.1 properties 声明函数 这将会是这个脚本的对外的接口 传递数值绑定组件都是需要使用到这个接口 类似于之前学习的ctor
2.cc.class会统一调用父结构函数 对于子类和父类的关系 是 子类继承父类的一切属性
default: 设置属性的默认值,这个默认值仅在组件第一次添加到节点上时才会用到
type: 限定属性的数据类型,详见 CCClass 进阶参考:type 参数
visible: 设为 false 则不在 属性检查器 面板中显示该属性
serializable: 设为 false 则不序列化(保存)该属性
displayName: 在 属性检查器 面板中显示成指定名字
tooltip: 在 属性检查器 面板中添加属性的 Tooltip
获得组件:
1.使用 gerComponent函数 方法多样 但是如果没有这个东西会显示为null
var label = this.getComponent("cc.Label");
(多为没有绑定组件,或者绑错造成的bug)
2.在声明函数中已经给每一个接口定义好了,所以绑定是会直接判断绑定的组件是否为合适的文件格式。
3.查找,会从根节点进行查找 十分需要注意的是 是否在脚本的父级或者父级的同级上查找的差异
this.node.getChildByName("Cannon 01");
cc.find("Cannon 01/Barrel/SFX", this.node);
this.backNode = cc.find("Canvas/Menu/Back");
4.因为有了接口所以访问变量的时候可以直接访问不需要和之前的一样使用抛出事件等方法。
5.定义全局变量,使用 window定义
节点状态
1.使用激活(true和falos类似于逻辑锁的概念)来控制节点的激活和关闭,现在使用最多的是这个节点是否出现在舞台上,事先将节点进行隐藏。
2.使用小数点来指向我们想要的位置类似于网络中的/用法。
3.节点创建和销毁
3.1 node.destroy()函数销毁创建的节点,制作武器界面的时候需要使用关闭后需要摧毁点关闭消失的节点。
4.更改节点锚点位置 this.node.anchorX = 1; this.node.anchorY = 0; 可以在CocosCreator点击节点然后在右侧的数据中更改,在代码中更改数据的话会使代码多出来很多没有必要的。而且也避免了被其他地方更改出现的bug。
常用组件接口:
cc.Component: 是所有组件的基类,任何组件都包括如下的常见接口
this.node:该组件所属的节点实例
this.enabled:是否每帧执行该组件的 update 方法,同时也用来控制渲染组件是否显示
update(dt):作为组件的成员方法,在组件的 enabled 属性为 true 时,其中的代码会每帧执行
onLoad():组件所在节点进行初始化时(创建之后通过设置父节点添加到节点树)执行
start():会在该组件第一次 update 之前执行,通常用于需要在 onLoad 初始化完毕后执行的逻辑。
监听和发射事件:
1.通过this.node 来注册和监听事件。监听事件可以通过 this.node.on() 函数来注册
2.可以使用on off 来进行开启和关闭监听事件 并且off和on必须相对应 可以封装成方法到需要的时候进行调用。
3.派送事件:使用的是冒泡排序,从发生的节点开始一级级的向上一级的父节点传递知道到达根节点或者被中间某一个父节点接收处理中断掉。cc.Event.EventCustom对象
玩家输入事件:鼠标事件 键盘事件 单点触摸事件 多点触摸事件
1.鼠标事件:cc.EventListener.MOUSE
鼠标按下:onMouseDown(event);
鼠标释放:onMouseUp(evnet);
鼠标移动:onMouseMove(evnet);
鼠标滚轮:onMouseScroll(evnet);
2.键盘事件: cc.EventListener.KEYBOARD(通过监听事件和绑定触发事件按下与释放)
键盘按下:onKeyPressed(keyCode, event);
键盘释放:onKeyReleased(keyCode, evnet);
3.单点触摸事件 监听类型cc.EventListener.TOUCH_ONE_BY_ONE
触摸开始:onTouchBegan(touches, event);
触摸移动时:onTouchMoved(touches, event);
触摸结束时:onTouchEnded(touches, event);
取消触摸:onTouchCancelled(touches, event);
动作类型 顺序动作 cc.sequence 同步动作 cc.spawn 重复动作 cc.repeat 永远重复动作 cc.repeatForever 速度动作 cc.speed
Action:所有动作类型的基类。
FiniteTimeAction:有限时间动作,这种动作拥有时长 duration 属性。
ActionInstant:即时动作,这种动作立即就会执行,继承自 FiniteTimeAction。
ActionInterval:时间间隔动作,这种动作在已定时间内完成,继承自 FiniteTimeAction。
ActionEase:所有缓动动作基类,用于修饰 ActionInterval。
EaseRateAction:拥有速率属性的缓动动作基类。
EaseElastic:弹性缓动动作基类。
EaseBounce:反弹缓动动作基类。
cc.sequence 顺序执行动作
cc.spawn 同步执行动作
cc.repeat 重复执行动作
cc.repeatForever 永远重复动作
cc.speed 修改动作速率
脚本重点是对于坐标的转换,和脚本与对象的绑定,以为这个软件会多一步绑定组件的步骤,所以要分清楚对于代码部分对哪些组件需要控制和预留接口,接口属性定义等问题。
1.一个脚本会有初始的三个方法体 分别是 properties onLoad update 都是不需要调用直接执行的方法
1.1 properties 声明函数 这将会是这个脚本的对外的接口 传递数值绑定组件都是需要使用到这个接口 类似于之前学习的ctor
2.cc.class会统一调用父结构函数 对于子类和父类的关系 是 子类继承父类的一切属性
default: 设置属性的默认值,这个默认值仅在组件第一次添加到节点上时才会用到
type: 限定属性的数据类型,详见 CCClass 进阶参考:type 参数
visible: 设为 false 则不在 属性检查器 面板中显示该属性
serializable: 设为 false 则不序列化(保存)该属性
displayName: 在 属性检查器 面板中显示成指定名字
tooltip: 在 属性检查器 面板中添加属性的 Tooltip
获得组件:
1.使用 gerComponent函数 方法多样 但是如果没有这个东西会显示为null
var label = this.getComponent("cc.Label");
(多为没有绑定组件,或者绑错造成的bug)
2.在声明函数中已经给每一个接口定义好了,所以绑定是会直接判断绑定的组件是否为合适的文件格式。
3.查找,会从根节点进行查找 十分需要注意的是 是否在脚本的父级或者父级的同级上查找的差异
this.node.getChildByName("Cannon 01");
cc.find("Cannon 01/Barrel/SFX", this.node);
this.backNode = cc.find("Canvas/Menu/Back");
4.因为有了接口所以访问变量的时候可以直接访问不需要和之前的一样使用抛出事件等方法。
5.定义全局变量,使用 window定义
节点状态
1.使用激活(true和falos类似于逻辑锁的概念)来控制节点的激活和关闭,现在使用最多的是这个节点是否出现在舞台上,事先将节点进行隐藏。
2.使用小数点来指向我们想要的位置类似于网络中的/用法。
3.节点创建和销毁
3.1 node.destroy()函数销毁创建的节点,制作武器界面的时候需要使用关闭后需要摧毁点关闭消失的节点。
4.更改节点锚点位置 this.node.anchorX = 1; this.node.anchorY = 0; 可以在CocosCreator点击节点然后在右侧的数据中更改,在代码中更改数据的话会使代码多出来很多没有必要的。而且也避免了被其他地方更改出现的bug。
常用组件接口:
cc.Component: 是所有组件的基类,任何组件都包括如下的常见接口
this.node:该组件所属的节点实例
this.enabled:是否每帧执行该组件的 update 方法,同时也用来控制渲染组件是否显示
update(dt):作为组件的成员方法,在组件的 enabled 属性为 true 时,其中的代码会每帧执行
onLoad():组件所在节点进行初始化时(创建之后通过设置父节点添加到节点树)执行
start():会在该组件第一次 update 之前执行,通常用于需要在 onLoad 初始化完毕后执行的逻辑。
监听和发射事件:
1.通过this.node 来注册和监听事件。监听事件可以通过 this.node.on() 函数来注册
2.可以使用on off 来进行开启和关闭监听事件 并且off和on必须相对应 可以封装成方法到需要的时候进行调用。
3.派送事件:使用的是冒泡排序,从发生的节点开始一级级的向上一级的父节点传递知道到达根节点或者被中间某一个父节点接收处理中断掉。cc.Event.EventCustom对象
玩家输入事件:鼠标事件 键盘事件 单点触摸事件 多点触摸事件
1.鼠标事件:cc.EventListener.MOUSE
鼠标按下:onMouseDown(event);
鼠标释放:onMouseUp(evnet);
鼠标移动:onMouseMove(evnet);
鼠标滚轮:onMouseScroll(evnet);
2.键盘事件: cc.EventListener.KEYBOARD(通过监听事件和绑定触发事件按下与释放)
键盘按下:onKeyPressed(keyCode, event);
键盘释放:onKeyReleased(keyCode, evnet);
3.单点触摸事件 监听类型cc.EventListener.TOUCH_ONE_BY_ONE
触摸开始:onTouchBegan(touches, event);
触摸移动时:onTouchMoved(touches, event);
触摸结束时:onTouchEnded(touches, event);
取消触摸:onTouchCancelled(touches, event);
动作类型 顺序动作 cc.sequence 同步动作 cc.spawn 重复动作 cc.repeat 永远重复动作 cc.repeatForever 速度动作 cc.speed
Action:所有动作类型的基类。
FiniteTimeAction:有限时间动作,这种动作拥有时长 duration 属性。
ActionInstant:即时动作,这种动作立即就会执行,继承自 FiniteTimeAction。
ActionInterval:时间间隔动作,这种动作在已定时间内完成,继承自 FiniteTimeAction。
ActionEase:所有缓动动作基类,用于修饰 ActionInterval。
EaseRateAction:拥有速率属性的缓动动作基类。
EaseElastic:弹性缓动动作基类。
EaseBounce:反弹缓动动作基类。
cc.sequence 顺序执行动作
cc.spawn 同步执行动作
cc.repeat 重复执行动作
cc.repeatForever 永远重复动作
cc.speed 修改动作速率
脚本重点是对于坐标的转换,和脚本与对象的绑定,以为这个软件会多一步绑定组件的步骤,所以要分清楚对于代码部分对哪些组件需要控制和预留接口,接口属性定义等问题。
相关文章推荐
- cocos2d - JS Sprite 镜像反转显示 ( Flipped )
- 基于Spine3.3的换装(纸娃娃,avatar)功能
- Cocos2d-x教程之环境搭建
- 关于Cocos2d-x中数组的使用
- CocosCreator入门Hello World
- 关于Cocos2d-x中GameController的定义
- lua cocos 界面金币更新
- lua 打印cocos对象元表中的方法
- 关于Cocos2d-x中的scheduleUpdate和update方法的使用
- 关于Cocos2d-x随机数的生成
- 关于Cocos2d-x节点和精灵节点的坐标、位置以及大小的设置
- 关于Cocos2d-x的专属数据类型
- 关于Cocos2d-x项目运行的过程和场景切换步骤
- 关于Cocos2d-x对象的定义和创建
- 关于Cocos2d-x程序运行时候提示关闭程序的框框的解决方法
- Cocos2dx Android真机环境使用Sqlite数据库
- cocos2dx修改引擎代码进行lua绑定
- Cocos2d-x 3.x Lua的启动流程
- cocos2dx.3.x之重要类分析(5)——Sprite
- cocos2dx C++一些实用方法