总结

来源:互联网 发布:ubuntu 文件权限设置 编辑:程序博客网 时间:2024/05/21 17:52

在这周接触到新的开发模式,之前我们开发都是使用的cocosCreate或者是使用webstorom直接搭建的界面,在cocosCreate中我们可以很直观的看到界面的UI界面。而使用webstorm则需要我们逐个添加层和精灵构建出一个游戏界面。新的开发模式是使用加载ccbi文件来方便的控制UI界面,ccbi文件是cocostudio2.0版本以上导出的文件格式,跟我们之前使用的json文件是同样的效果,首先是我们得到ccbi文件之后需要使用代码给它进行添加和注册。为了方便控制文件加载的灵活性一般都是给加载ccbi文件封装成一个方法。代码如下:

gameScene_create = function () {    var node = cc.BuilderReader.load("res/ccb/gameScene.ccbi");    node.controller._init();    return node;};

由代码可以知道加载完ccbi文件之后得到的是一个节点。所有我们要想给这个节点呈现到舞台上面我们还需要一个场景。添加场景的代码如下:

gameScene_scene = function () {    var scene = new cc.Scene();    var layer = gameScene_create();    scene.addChild(layer);    return scene;};

当调用这个方法的时候可以得到一个添加ccbi文件的一个场景。这样就可以和方便的在main文件中运行查看效果。加载完ccbi文件之后还不能立刻看到效果必需要对文件进行注册。

cc.BuilderReader.registerController("gameScene", { onDidLoadFromCCB: function () {},_init:function(){}})

其中gameScene是对应的ccbi的文件名。在后面的大括号里面第一个函数是对ccbi文件的初始化函数。onDidLoadFromCCB这个是一ccbi文件的初始化的一个函数,也就相当于我们在使用继承的方法时必需在ctor函数中写一个_init函数是差不多的道理。_init这个函数是因为在加载ccbi文件的那个方法中写了node.controller._init();这个函数也是初始化的意思。写在onDidLoadFromCCB之前的变量都是全局变量。在这个类中使用this.就可以获取到这个变量。在这里这个this指向的是这个ccbi文件的这个节点。如果要给这个添加到根节点就必需要使用this.rootNode。

在ccbi文件中美术人员给每个ccbi中的每个节点都有命名 在写程序的过程中如果我们需要使用到里面的节点名可以通过this.变量名 和 this[“变量名”]两种方式引用

二、Math 对象的方法
1. Math.abs(num) : 返回num的绝对值
2. Math.acos(num) : 返回num的反余弦值
3. Math.asin(num) : 返回num的反正弦值
4. Math.atan(num) : 返回num的反正切值
5. Math.atan2(y,x) : 返回y除以x的商的反正切值
6. Math.ceil(num) : 返回大于num的最小整数
7. Math.cos(num) : 返回num的余弦值
8. Math.exp(x) : 返回以自然数为底,x次幂的数
9. Math.floor(num) : 返回小于num的最大整数
10.Math.log(num) : 返回num的自然对数
11.Math.max(num1,num2) : 返回num1和num2中较大的一个
12.Math.min(num1,num2) : 返回num1和num2中较小的一个
13.Math.pow(x,y) : 返回x的y次方的值
14.Math.random() : 返回0到1之间的一个随机数
15.Math.round(num) : 返回num四舍五入后的值
16.Math.sin(num) : 返回num的正弦值
17.Math.sqrt(num) : 返回num的平方根
18.Math.tan(num) : 返回num的正切值
19.Math.E : 自然数(2.718281828459045)
20.Math.LN2 : 2的自然对数(0.6931471805599453)
21.Math.LN10 : 10的自然对数(2.302585092994046)
22.Math.LOG2E : log 2 为底的自然数(1.4426950408889634)
23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518)
24.Math.PI : π(3.141592653589793)
25.Math.SQRT1_2 : 1/2的平方根(0.7071067811865476)
26.Math.SQRT2 : 2的平方根(1.4142135623730951)

//———————————一些没有遇见过的API———————————————-
str = “我叫%s,今年%d”
cc.formatStr(str,”xx”,10);
cc.formatStr是和c++中printf功能相似。控制字符个格式化输出。

toFixed()方法可以把Number四舍五入为指定小数位的数字。
NumberObject.toFixed(num)
参数num是必需要填写的 它规定了小数的位数,是0~20之间的值包括0和20;

bake()
设置层使其缓存所有子节点到一个sprite上,然后绘出自身。推荐在UI中使用。
只在HTML5引擎中支持

attr(attrs)
属性配置方法
所有在attrs中的属性将会被设置到节点中,
当节点的setter方法可用时,
属性将通过setter方法进行设置.
Parameters:
{Object} attrs
设置到这个节点的属性

0 0
原创粉丝点击