摘要: 这篇文章主要会介绍一些cocos2d的基础类,以及他们的用途。 cocos2d中,大量使用了单例(singleton)模式,单例其实就是一个普通的类,但是它在整个应用程序生命周期内只实例化一次,cocos2d中,要访问单例对象,基本上都是使用shared开头的方法(目前为止,我没有发现过有不这样使用的单例)。如果你还没看懂单例是什么,那么看看下面这个例子你就知道了。static MyManager *shareManager = nil;+(MyManager) sharedManager{ if(shareManager == nil) { share...阅读全文
posted @ 2012-03-16 23:13 MR_H 阅读(1136) 评论(0) 编辑
摘要: 其实想写cocos2d的东西很久了,一直因为一些乱七八糟的事情,而没有写。前几天跟popple聊天的时候,popple说想要做一些这方面的东西,于是决定还是开始写这一系列的东西吧,记录自己学习,同时也分享给喜欢这个的朋友。 ios上开发游戏有很多方法,最原始的就是用原生的cocoa框架加上OpenGL ES开发,但是这种方法太复杂了,而且操作OpenGL也挺麻烦的,所以我选择了cocos 2d来作为框架开发。这个框架比较简单,而且资料也比较全,内置的box2d引擎,很多同学应该都听说过,比如《愤怒的小鸟》就采用了此引擎。 既然选择了cocos 2d,那么就先继续吹捧下这个框架吧。首先,...阅读全文
posted @ 2012-03-16 00:45 MR_H 阅读(71) 评论(0) 编辑
摘要: 在苹果发布了mountain lion的开发者预览版后,我就毫不犹豫的升级了。刚开始的时候,用起来感觉还挺好的,跟ios融合的很好,我在手机上记录的一些东西,在mountain lion中都能立即同步过来。更让我期待的是,新加的通知功能很不错,以后就可以把一些不太重要的消息设置成不弹出来提示,有时间的时候,再去通知中心查看。 但是跟mountain lion过了几天美好的生活后发现,开发者预览版还是不适合做日常的稳定系统,首先就是跟一些软件不兼容,比如大名鼎鼎的虚拟机——PD,其次就是功能有些不太稳定,新版的safari浏览的时候,有时候滑动页面,会出现一些卡顿感,这也是直接导致我装回l...阅读全文
posted @ 2012-03-01 09:14 MR_H 阅读(1466) 评论(6) 编辑
摘要: 听说google proto buffer(以下简称protobuf)已经很久了,但是一直没有尝试使用它。其中一个原因是,项目组自己写了个打包和解包的工具,而且代码也简单,可以很方便的扩展到自动生成xml之类的配置文件,已经能很好的符合项目的需要。但是最近发现protobuf有个很不错的功能,就是可以向已有的协议中添加新的字段,而不影响采用旧协议的服务。所以就想试试protobuf。 要使用google proto buffer,首先要进行的就是安装,先说说我的(mac os X 10.7.2)安装过程吧: 1、下载google proto buff。 2、解压下载的包,并且阅读R...阅读全文
posted @ 2012-01-16 21:44 MR_H 阅读(2166) 评论(1) 编辑
摘要: 昨天晚上发微博,说自己欠android一个公正,今天要写一片文章来公正的谈谈android。 其实,坦白来说,我算不上一个android黑,反而还是偏android粉一点,但是最近在跟人聊天的时候,或多或少贬低了下android,或许,这应该描述成恨铁不成钢比较何时吧。本文就从G1开始将起我和android的故事吧。 09年的时候,恰好想换台手机,于是就选择了htc的G1,当时对android甚至智能机都没什么太大的概念,只是觉得做的方向是linux方面的东西,不如干脆买台android来体验下。于是入手了英国版的G1,全名叫HTC Dream。机如其名,现在回想起来,也觉得买G1是一...阅读全文
posted @ 2011-12-11 22:48 MR_H 阅读(2893) 评论(36) 编辑
摘要: 很久没写博客了,看了下最新更新的博客还是4月份的,很是惭愧。看到很多朋友在博客里面留言,最近的大部分留言基本上都是围绕我LSM那篇文章的。在国内,确实关于这一方面的东西还是比较少的,所以也很能理解大家的心情。LSM是我毕业设计所研究的对象,本来是想在论文提交后总结下,然后分享给大家的,但是那段时间享受毕业季去了,所以一直没写。现在偶尔想写,但是又觉得没有对这个没有激情了,所以也不打算计继续写LSM相关的文章,还请各位见谅。 虽然不打算继续写LSM方面的文章,但是还是把一些最基本的思路跟大家分享一下。其实LSM最简单的理解就是一组钩子函数(hook),它几乎存在在内核的每一个子系统里面...阅读全文
posted @ 2011-11-17 23:21 MR_H 阅读(983) 评论(0) 编辑
摘要: 这个系列的文章主要是学习《UNIX 网络编程(卷一:套接字联网API)》的一些学习札记。 先看下这个简单的从服务器获取时间的客户端程序:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <error.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.阅读全文
posted @ 2011-04-15 17:02 MR_H 阅读(123) 评论(0) 编辑
摘要: LSM的全称是Linux Security Modules,它是linux内核中用来支持更灵活的安全策略的一个底层框架,虽然听起来比较复杂,但是可以就把它理解成一组安插在linux内核的钩子函数和一些预留的被称为安全域的数据结构,下面先说说这个框架的由来吧。  linux本身的机制就保证了linux拥有更好的安全机制,但是在这个机制下面,还是隐藏了许多的问题:  1、权限粒度太大。用过linux的人应该对0644这样的访问权限设置不陌生,它对能够操作这个文件的用户做了限制,但是这个只是限制到了组,而没有更进一步的细分,当然,如果LSM只是用来限制这个的话,那么也就太没意思了,因为实现文件更细的阅读全文
posted @ 2011-01-01 21:53 MR_H 阅读(1236) 评论(8) 编辑
摘要: 以前利用linux系统提供的读写锁写过一些小程序,但是linux系统提供的读写锁是线程级的,如果是进程间的同步的话,就没那么轻松了。而且由于linux系统提供的读写锁是读优先的,在有些情况下,也不能满足我们的要求。下面就说说利用信号量来实现写优先的读写锁。  先说说原理,这个程序需要用到两个信号量,一个互斥信号量A,一个同步信号量B,其拥有MAX_RESOURCES个资源。当读进程申请读锁的时候,...阅读全文
posted @ 2010-09-24 17:41 MR_H 阅读(1723) 评论(0) 编辑
摘要: 前段时间看了下google c/c++编程风格,摘录一些要点记载于此,还请各位指点。  为了接下来清楚的阐述googleC++编程规范,先阐述几个概念:  PascalCase:当标识符由两个或者两个以上单词组成的时候,单词之间不加其他的符号,并且每个单词都必须大写,例如PascalCase。  camelCase:当标识符由两个或者两个以上单词组成的时候,单词间不加其他的符号,并且第一个单词以小...阅读全文
posted @ 2010-09-15 09:18 MR_H 阅读(1623) 评论(2) 编辑