随笔:

 [ 1 ] active能隐藏元素,且不占空间,但仍存在,索引时,仍能得到
[ 2 ] 碰到参数传不进去的时候可以试着用属性赋值的方法代替传参
[ 3 ] getChildByName是按照层级管理器里的节点名字进行索引的
[ 4 ] get/set方法
properties{
_shopId : 1,
shopId : {
set : function(value){
this._shopId = Math.floor(value)
},
get : function (){
return this._shopId;
}
}
}
可以转数据类型: 比如在set里可以this._shopId = Math.floor(value);
可以执行刷新: 比如在set里可以this.refrash();
可以对外使用: 比如在另一个脚本里可以shopId=5,这样就直接执行this._shopId = 5,因为set方法被调用;
[ 5 ] 回调
 this._callback && this._callback();
callback(callback,t){
this._callback = function (){
callback.call(t);
}
}
在a脚本中创建回调方法,在b脚本里调用,并传入b想要执行的方法,这样a中执行b中想要完成的事件,完成后再a中对this进行修正,在a中执行时达到b想要达到的状态;
[ 6 ] 接口对接
//英雄锁
//英雄锁
Hero.lock = function(data,callback){//——Hero.lock—对应协议里’hero.lock’
———data对应{heroId : id}
———callback对应function(err,res){}
———callback(null,{goods : [ goods ]})对应res
var heroID = data.heroID;
db.Goods.get(heroID,function(err,hero){——获取
if(err){
return callback(err);
};
if(!hero){
return callback(Error.WrongGoodsId);
};
hero.parameter[0] = !hero.parameter[0];//0是false;1是true; db.Goods.set(hero.id,hero,function(err){——保存
if (err) return callback (err)
callback(null,{
goods : [goods]
})
})
})
};

[ 7 ] 排序
 //排序
//自定义排序方法,层层递归方法
var sortFormArr = $nd.BagForm[bagIndex].sort;
if (sortFormArr.length !== 1) {
var sortByForm = function (a, b, key, isSort) {
switch(key){
case 'order' :
return isSort > 0?a.parameter[2] - b.parameter[2]:b.parameter[2] - a.parameter[2];
break
case 'lv' :
return isSort > 0?a.parameter[1] - b.parameter[1]:b.parameter[1] - a.parameter[1];
break
case 'index':
return isSort > 0 ? a.index - b.index : b.index - a.index;
break
}
}
var sortFunIndex = 0;
var len = sortFormArr.length;
var sortFun = function(a,b){
if(sortFunIndex > len){
sortFunIndex = 0;
return;
}
var ccc = sortByForm(a,b,sortFormArr[sortFunIndex],sortFormArr[sortFunIndex+1]);
if(ccc == 0){
sortFunIndex+=2;
return sortFun(a,b);
}else{
sortFunIndex = 0;
return ccc;
}
}
bagGoods.sort(sortFun);
}

[ 8 ] 屏幕宽度
屏幕宽度 : cc.view.getVisibleSize();
节点宽度 : this.node.getContentSize();
Sprite的宽高需要在创建的时候添加,加载完成无法更改
节点世界坐标 : this.node.convertToWorldSpace(cc.v2(0,0))[ 按照左下角开始计算 ]
[ 9 ] 复制节点
 properties: {
spain : {
default : null,
type : sp.Skeleton,
tooltip : ‘动画’
}
},
//复制节点
cc.instantiate(this.spain.node);
//实例化
cc.instantiate(this.spain);
//复制动画节点
var newSpain = cc.instantiate(this.BattleData.spain.node);
target.roleNode.addChild(newSpain);
newSpain.getComponent('sp.Skeleton').setAnimation(0, 'Abiaoji', false);
/////////
// cc.loader.loadResAll('Battle', function(err, assets){
// if(err){
// return;
// } // if(assets.length <= 0){
// return;
// } // var newSpain = new cc.Node();
// target.roleNode.addChild(newSpain);
// newSpain.zIndex = -1;
// newSpain.x = target.roleNode.x -target.roleNode.width/2;
// newSpain.y = target.roleNode.y -target.roleNode.height/2;
// var dragonDisplay = newSpain.addComponent(dragonBones.ArmatureDisplay); // for(var i in assets){
// if(assets[i] instanceof dragonBones.DragonBonesAsset){
// dragonDisplay.dragonAsset = assets[i];
// }
// if(assets[i] instanceof dragonBones.DragonBonesAtlasAsset){
// dragonDisplay.dragonAtlasAsset = assets[i];
// }
// } // dragonDisplay.armatureName = 'Battle';
// dragonDisplay.playAnimation(name);
// })
[ 10 ] 排序(每排四个)
 //随着高度增加整体位置升高
//从左到右排列
createBuff : function(arr){
//每个元素的宽高
var w = 28;
var h = 28;
//y轴高度基准
var centerY = arr.length <= 4 ? 0 : Math.floor(arr.length / 4) * h / 2;
for(var i = 0 ; i < arr.length ; i ++ ){
var url = 'texture/battle/font/buff/' + arr[ i ].name;
var buffNode = NDTools.createSprite( url , w , h );
this.node.addChild( buffNode );
buffNode.x = ( ( 1 - arr.length ) * w / 2 + w * ( i % 4 ) ) * -1 ;
buffNode.y = centerY - h * Math.floor( i / 4 );
}
return (Math.ceil(arr.length / 4) - 1) / 2 * h;
}
 
 
[ 11 ] 图片加载以及更换
 
[ 12 ] 播放动画
 //复制节点
var fireNode = cc.instantiate(newSpain.node);
//添加节点
this.node.addChild(fireNode);
//以为复制节点的时候,该动画节点是隐藏状态,所以复制过来也是隐藏的,需要重新打开显隐状态
fireNode.active = false;
var fire = fireNode.getComponent('sp.Skeleton’)
//指定动画名称
fire.defaultAnimation ='huo’;
//是否循环
fire.loop = true;
//‘huo’是动画的名字
fire.setAnimation(0,'huo',true);

cocos随笔的更多相关文章

  1. 麒麟子Cocos Creator实用技巧

    大家好,我是麒麟子, 开源棋牌<幼麟棋牌-四川麻将>(泄漏版叫 <达达麻将>)作者,成都幼麟科技创始人. 自09年进入游戏行业以来,不知不觉已经度过了十个春秋. 曾经我也血气方 ...

  2. AI人工智能系列随笔

    初探 AI人工智能系列随笔:syntaxnet 初探(1)

  3. 【置顶】CoreCLR系列随笔

    CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...

  4. C++随笔:.NET CoreCLR之GC探索(4)

    今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...

  5. C++随笔:从Hello World 探秘CoreCLR的内部(1)

    紧接着上次的问题,上次的问题其实很简单,就是HelloWorld.exe运行失败,而本文的目的,就是成功调试HelloWorld这个控制台应用程序. 通过我的寻找,其实是一个名为TryRun的文件出了 ...

  6. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  7. 触控的手牌—Cocos Creator

    科普 Cocos Creator是触控最新一代游戏工具链的名称.如果不太清楚的,可以先看一些新闻.   新编辑器Cocos Creator发布: 对不起我来晚了! http://ol.tgbus.co ...

  8. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  9. 使用Beautiful Soup编写一个爬虫 系列随笔汇总

    这几篇博文只是为了记录学习Beautiful Soup的过程,不仅方便自己以后查看,也许能帮到同样在学习这个技术的朋友.通过学习Beautiful Soup基础知识 完成了一个简单的爬虫服务:从all ...

随机推荐

  1. 在WCF程序中动态修改app.config配置文件

    今天在个WCF程序中加入了修改配置文件的功能.我是直接通过IO操作修改的app.config文件内容,修改后发现发现其并不生效,用Google搜了一下,在园子里的文章动态修改App.Config 和w ...

  2. A 内存挂 B 封包挂 C 钩子挂 D CALL挂 外挂

    https://www.zhihu.com/question/32291769 作者:猎狐链接:https://www.zhihu.com/question/32291769/answer/70929 ...

  3. java hashset输出

    for (Map.Entry<String, String> me : id_label_map.entrySet()) { System.out.println(me.getKey() ...

  4. PostgreSQL 实现按月按年,按日统计 分组统计

    endtime 是 timestamp select to_char(endtime, 'YYYY-MM-DD') as d , count(objectid) FROM sde.polygon wh ...

  5. kubernets部署微服务电商平台

    一.准备条件 1) 确保kubernetes可以访问:reg.yunwei.edu镜像库(vim /etc/hosts) [root@cicd yml]# cat /etc/hosts 127.0.0 ...

  6. golang 标准库 sync.Map 中 nil 和 expunge 区别

    本文不是 sync.Map 源码详细解读,而是聚焦 entry 的不同状态,特别是 nil 状态和 expunge 状态的区分. entry 是 sync.Map 存放值的结构体,其值有三种,分别为 ...

  7. flutter dialog异常Another exception was thrown: Navigator operation requested with a context that does not include a Navigator

    我在使用flutter里的对话框控件的时候遇到了一个奇怪的错误 Another exception was thrown: Navigator operation requested with a c ...

  8. jQuery验证控件jquery.validate.js汉化

    如需要修改,可在js代码中加入: jQuery.extend(jQuery.validator.messages, {  required: "必选字段",  remote: &q ...

  9. windows 的cmd设置代理的问题

    今天给公司一同事用cmd来安装gulp(npm install -g gulp), 死活安装不上,一直报一大堆的错误:经仔细查阅是代理的问题,故总结如下: 若公司的电脑是通过设置代理来访问外网,则需要 ...

  10. linux--vm安装

    网络排错图解 https://www.linuxidc.com/Linux/2017-03/141863.htm net模式 https://www.linuxidc.com/Linux/2017-0 ...