- 博客(95)
- 资源 (3)
- 收藏
- 关注
转载 unity3d碰撞之character control与rigidbody
一、碰撞Unity3d中参与碰撞的物体分2种类型:a、发起碰撞的物体。b、接收碰撞的物体。1. 参与发起碰撞物体:Rigodbody, CharacterController (角色碰撞器)。2. 参与接收碰撞的物体:所有Collider(如果打开Istrigger,则不发生实际碰撞,而是调用trigger函数)。Character Controller本身自带一个碰撞器,
2015-03-23 00:39:53
3666
转载 CCMenu的布局
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/12904705前两天写个游戏,发现CCMenu的布局还是比较有意思的,这里总结一下,以便后用。1.概况CCMenu是cocos2d-x的菜单类,但它本身并不具备菜单具体属性,而是作为一个父节点,将一些具体类型的菜单添加进去来达到菜单目的的。我们
2015-01-19 00:49:09
654
转载 动作类CCAction
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/12770909精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。1.概况CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCA
2015-01-19 00:19:12
618
转载 精灵类CCSprite
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/12747385精灵类CCSprite可以说是游戏的主角了,也是我们平时最常用到的类。1.概况CCSprite本质上就是一个二维图片,是静态的。游戏中的动画只不过是让一张张静态图片快速更换达到的动态效果。CCSprite继承于CCNo
2015-01-19 00:17:49
771
转载 场景类CCScene和布景类CCLayer
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/12708811场景类CCScene和布景类CCLayer都是作为一个容器来使用,这里简单地看下它们的实现:1.场景类:CCSceneCCScene类继承于CCNode,它的实现很简单,就是基本上没添加什么内容。。。它只是作为一个容器
2015-01-18 23:59:58
670
转载 二、CCNode
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/12703741点类CCNode可以说是游戏元素的祖宗了,基本上我们看得到的游戏元素都是以它为原型进行扩展的。像CCScene,CCLayer,CCSprite,CCMenu,CCSpriteBatchNode等等都是从CCNode继承而来。另外如果我们要自定义精灵,那么从CCNode继承
2015-01-18 22:50:02
572
转载 一、cocos2d引擎架构与CCDirector
转载自:http://blog.youkuaiyun.com/jackystudio/article/details/124328371.游戏构成我们以超级马里奥游戏作为蓝本来描述一下一个游戏的构成。1.首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫场景。2.蓝天白云,各种板砖水管,这些是布景,放置在关卡中,通过布景的叠加,构成了游戏的
2015-01-18 22:05:03
540
原创 OpenGL,glut,glew,glfw,mesa等
一、OpenGLOpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大(aux很大程度上已经被glut库取代。)。扩展函数库是硬件厂商为
2015-01-17 13:50:17
14906
转载 性能调优攻略——来自酷壳陈皓
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!但
2014-08-06 09:59:55
1537
转载 STL之erase,remove
zhuanzai你要erase的元素很容易识别。它们是从区间的“新逻辑终点”开始持续到区间真的终点的原来区间的元素。要除去那些元素,你要做的所有事情就是用那两个迭代器调用erase的区间形式(参见条款5)。因为remove本身很方便地返回了区间新逻辑终点的迭代器,这个调用很直截了当:vectorint> v; // 正如从前v.erase
2014-06-19 09:57:56
492
原创 LVS+HAProxy的配置
一、安装http://blog.sina.com.cn/s/blog_704836f401011u3x.htmlIP:192.168.1.61[root@haproxy_node1 ~]# wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz[root@haproxy_node1 ~]# tar xvzf
2014-05-27 10:56:52
1817
原创 stream一些常用函数
一、stream(cin)1、getline与cin.ignore()http://blog.youkuaiyun.com/kleguan/article/details/6250013
2014-05-24 23:24:53
1430
原创 gets、fgets、puts、fputs、scanf、read、readline、getline等
一、getsgets是个不安全的函数,应该坚决不用。
2014-05-22 18:59:59
2619
1
原创 8 storage的tracker_merge_servers与文件同步
一、准备工作tracker_report_thread_entrance->tracker_merge_servers
2014-05-18 16:50:27
1176
原创 6 tracker的选主:relationship_thread_entrance
一、数据结构TrackerServerGroup g_tracker_servers = {0, 0, -1, NULL};typedef struct{ int server_count; int server_index; //server index for roundrobin int leader_index; //leader server index Con
2014-05-15 12:11:07
889
原创 2、storage主流程
一、概要客户端和Storage server主动连接Tracker server。Storage server主动向Tracker server报告其状态信息,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。Storage server会连接集群中所有的Tracker server,向他们报告自己的状态。Storage server启动一个单独的线程来完成对一台Tracker
2014-05-14 12:13:20
2105
原创 5 发送数据与错误处理
int tcpsenddata_nb(int sock, void* data, const int size, const int timeout){ int left_bytes; int write_bytes; int result; unsigned char* p;#ifdef USE_SELECT fd_set write_set; struct timeval t;
2014-05-13 17:19:25
1158
原创 3 tracker中的recv_notify_read
void recv_notify_read(int sock, short event, void *arg){ int bytes; int incomesock; int result; struct tracker_thread_data *pThreadData; struct fast_task_info *pTask; char szClientIp[IP_ADDRESS
2014-05-13 12:01:07
852
转载 C++ 11中的move语义
题外话:the rule of threeIf you need to explicitly declare either the destructor, copy constructor or copy assignment operator yourself, you probably need to explicitly declare all three of them.
2014-04-26 23:45:48
682
转载 tcmalloc——内存分配器
转载自一. 原理tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配、释放内存造成的性能损耗,并且有效地控制内存碎片。glibc中的内存分配器是ptmalloc2,tcmalloc号称要比它快。一次malloc和free操作,ptmalloc需要300ns,而tcmalloc只要50ns。同时tcmalloc也优化了小对象的存储,需要更少的空
2014-04-13 21:45:17
2151
转载 Linux中内存buffer和cache的区别
Free中的buffer和cache:(它们都是占用内存): buffer : 作为buffer cache的内存,是块设备的读写缓冲区 cache: 作为page cache的内存, 文件系统的cache
2014-04-12 22:33:24
864
转载 close与RST
1、几种TCP连接中出现RST的情况参考:http://my.oschina.net/costaxu/blog/127394
2014-04-12 21:51:50
1395
转载 linux后端服务程序之信号处理
下面和大家分享编写daemon程序时信号处理的注意事项,内容都来自Internet,只是进行了整理和总结。关于信号的基础只是请参考APUE。常见的信号SIGHUP 1 和终端的连接断开,发送该信号给控制进程。通常用此信号来通知daemon重新读取配置文件(因为daemon不会有控制终端,通常不会收到该信号)。SIGINT 2 用户中断(Ctrl + C)。SIG
2014-04-09 21:26:12
714
转载 Zookeeper FastLeaderElection算法总结
1.发起一轮投票选举,推举自己作为leader,通知所有的服务器。通知中包含以下数据:1)所选举leader的id(就是配置文件中写好的每个服务器的id),在初始阶段,每台服务器的这个值都是自己服务器的id,也就是推荐自己为leader。2)zxid3)logicalclock(electionEpoch)1.发起一轮投票选举,推举自己作为leader,通知所有的服
2014-04-07 16:55:04
726
转载 关于IO——阻塞、非阻塞、同步、异步
同步IO导致请求进程阻塞,直到IO操作完成。异步IO不导致请求进程阻塞。阻塞IO模型,非阻塞IO模型,IO复用模型,信号驱动IO模型都是同步IO。select/epoll是IO复用模型,应该是同步IO。
2014-04-03 19:29:10
791
原创 从网页提取内容
问题来源:想看看《程序员》杂志的云计算类别的文章,发现不能用有道阅读订阅。由于该类别有68篇文章,每页显示10条记录,所以查看很不方便。于是想把所有文章的名称和url提取出来,放在一个文本中,这样可以方便查看。解决思路:最先想到的是用curl命令,可是发现该命令只能打开第一页的网页,其他页并不能打开,无法提取。原因可能是cookie造成的。最后使用lynx命令解决,lynx -
2014-04-02 09:59:31
822
转载 18 MySQL加锁处理分析
http://hedengcheng.com/?p=771 by何登成这篇文章从一个简单的SQL语句delete from t1 where id = 10;,分析在各种情况下的加锁情况。以下为这篇文章的目录,感谢何博士的分享。1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index
2014-02-27 20:14:18
776
转载 17 mysql XA事务
一、mysql XA事务XA就是X/Open DTP(分布式事务处理模型)定义的事务管理器TM(交易中间件)与资源管理器RM(数据库)之间的接口规范。XA规范的基础是二阶段提交协议。注意:对于分布式事务,必须使用SERIALIZABLE隔离级别。mysql XA事务分为外部XA和内部XA。Mysql外部XA由外部应用程序充当事务管理器,可以用在分布式数据库代理层,如开源工具ameba,
2014-02-25 11:28:20
1756
转载 16 innDB死锁检测
一、准备工作死锁检测一般采用Wait-For-Graph算法,本例所述实现为递归式(深度优先搜索),后续改为非递归实现(栈)。参考资料:http://www.gpfeng.com/?p=426准备两个session如下:start transaction start transaction;update nkeys set c5=0 where c1=500
2014-02-20 17:12:49
977
转载 15 innodB的隐式锁
一、知识准备之隐式锁参考:http://www.uml.org.cn/sjjm/201205302.aspInnodb 实现了一个延迟加锁的机制,来减少加锁的数量,在代码中称为隐式锁(Implicit Lock)。隐式锁中有个重要的元素,事务ID(trx_id)。隐式锁的逻辑过程如下:A. InnoDB的每条记录中都一个隐含的trx_id字段,这个字段存在于簇索引的B+Tree中。
2014-02-20 11:11:52
2887
转载 14 MVCC的可见性
转自http://hedengcheng.com/?p=148 何登成一、准备create table test (id int primary key, comment char(50)) engine=innodb;create index test_idx on test(comment);insert into test values (1, ‘aaa’);insert
2014-02-19 20:15:15
1842
转载 13 commit after update
一、准备工作1、准备知识参考:《InnoDB 日志 回滚段 & 崩溃恢复实现详解——修改版》by 何登成当事务提交时,与undo相关的操作:insert undo:释放Rollback Segment Header Page中的Undo Slot;直接释放Insert_Undo对应的所有Undo Page,回收空间。Update undo:释放Rollbac
2014-01-19 22:26:50
777
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人