cocos2d-x日记-2
重写CCLayer的帧刷新函数:
thisLayer->schedule(schedule_selector(ClassName::updateFunction));
cocos2d-x日记-1
几个重要概念
在cocos2d引擎中,有几个概念,分别是导演,场景,布景和人物角色。
- 导演(CCDirector)在cocos2d-x引擎中,导演类是游戏的组织者和领导者,导演制定规则让游戏内的场景,布景,和人物角色有序的运行
- 摄像机(CCCamera),每个节点都需要使用摄像机,当节点发生缩放,旋转,和位置变化时,都需要覆盖摄像机,让这个节点通过摄像机重新渲染。
- 场景(CCScene)在游戏里,场景就是关卡,关卡有人物和背景构成
- 布景(CCLayer)从概念上说,布景就是场景里的背景,其实就是层次的概念,这种概念在kjava时代就有,就是手动的把游戏中的场景分层(也有靠地图编辑器实现这一功能的)
- 人物(CCSprite),这就很明显了,当然包括主角和敌人,和npc,以我个人的理解,也包括游戏中的动态大图素及机关等
- 动作(CCAction),就是人物(CCSprite)拥有的动作
再见一花
种花一年
种花一年
晨跑时经过的美景
第一根白头发
用JavaScript读取本地文件内容
随着JavaScript应用面的逐渐广泛。我们的js的要求也愈来愈高,现在我们可以用js做后端服务器(Node.js),做前端游戏模拟器(JS GameBoy Color Game Center),甚至有人用他模拟了一台pc,并且装上了linux(jslinux)在浏览器里跑。js总是给我们带来一个又一个惊喜。
随着HTML5的流行和逐渐普及,无数的好的接口也一个个的向我们走来,惊喜不断,以前一直被视为无法实现的js读取本地文件内容在现在也已经不再是什么难事了。你唯一需要关注的可能就是浏览器兼容性问题了。
今天要介绍的是使用js读取本地文件内容:
我们完全依赖FileReader类完成读取工作,你可以到w3c的网站查看相关的说明http://www.w3.org/TR/FileAPI/
然后我们需要使用到html的input标签的file类型元素
multiple=””用于设置控件为多选
下面是读取文件的代码
Continue reading
简单的JS同步调用函数实现-初探
最近自己试验性的写了一个可以实现同步调用的JS函数。
使用的递归的原理。
var syncExe = function(){
var fLen = arguments.length;
var exe = function(funcs,count,sum,retval){
if(!!retval){
if(!('return' in exe)){
exe['return'] = [];
}
exe['return'].push(retval);
}
if(count == sum){
return;
}else{
funcs[count](function(str){
count++;
exe(funcs,count,sum,str);
});
}
}
exe(arguments,0,fLen);
return exe['return'];
};
linux socket系统调用的错误码及含义
linux socket系统调用socket,accept,bind,listen,connect,send,recv等函数出错时,errno的值及其含义对应如下:
EAGAIN: Resource temporarily unavailable EWOULDBLOCK: Resource temporarily unavailable EBADF: Bad file descriptor ECONNREFUSED: Connection refused EFAULT: Bad address EINTR: Interrupted system call EINVAL: Invalid argument ENOMEM: Cannot allocate memory ENOTCONN: Transport endpoint is not connected ENOTSOCK: Socket operation on non-socket EACCES: Permission denied ECONNRESET: Connection reset by peer EDESTADDRREQ: Destination address required EMSGSIZE: Message too long ENOBUFS: No buffer space available EOPNOTSUPP: Operation not supported EPIPE: Broken pipe EPERM: Operation not permitted EADDRINUSE: Address already in use EAFNOSUPPORT: Address family not supported by protocol EALREADY: Operation already in progress EINPROGRESS: Operation now in progress EISCONN: Transport endpoint is already connected ENETUNREACH: Network is unreachable ETIMEDOUT: Connection timed out EMFILE: Too many open files ENFILE: Too many open files in system EPROTO: Protocol error EADDRINUSE: Address already in use EADDRNOTAVAIL: Cannot assign requested address ELOOP: Too many levels of symbolic links ENAMETOOLONG: File name too long ENOENT: No such file or directory ENOTDIR: Not a directory EROFS: Read-only file system EPROTONOSUPPORT: Protocol not supported







