cocos2d-x-3.0版本升级相关

cocos2dx-logo

cocos2d-x已经是一个非常流行的2d手游开发框架引擎,2.x版本的也已经有大量游戏采用开发。
3.0正式发布后,新的项目经过评估决定采用3.0框架来开发,以及配套的使用cocostudio集成工具。
以前的项目是2.x版本的,集合quick-cocos2d-x的lua封装类库,cocosbuilder(这个工具已经停止维护了)制作UI,flash导出动画,开发流程和方式已经比较成熟了。
现在换成3.0,改动还是比较大的,需要先整理一下。

新的3.0提供了快速创建项目的工具,但目前的模板比较单一(cpp,lua,js),虽然我们也是采用lua为主,但现在的lua项目模板感觉结构不是很好,所以制作了自定义模板:custom-template-default,以cpp为蓝本,加入lua集成部分,并且集成了Simulator功能。
另外一些原有自己扩展的类也需要按3.0的风格重构,luabinding这块方式也改变了,不用另外再写pkg绑定文件了。
这里记录一下一些相关信息,也更好的了解3.0的一些特性和区别点,可能从2.x一开始转过来还是会觉的有点不顺,毕竟2.x已经用了相对比较熟了。

1. cocos2d-x v3.0 发布说明

阿里云 个人认为是国内比较不错的公有云解决方案。

这里简单写一些服务器环境相关的记录。

1. 按自己需求申请服务器资源,这里以个人测试机器为例:

测试实例配置
硬件配置:ecs.t1.small  CPU1核,Mem1G,Disk 20G+40G
软件系统:CentOS 6.3 64位

2. 申请的额外数据盘没有自动添加,需要手动添加

挂载数据盘
1)、查看数据盘

在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看

2)、 对数据盘进行分区

执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区;
根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

3)、 查看新的分区

使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。

4)、格式化新分区

使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。

5)、添加分区信息

mkdir /data
使用“echo ‘/dev/xvdb1 /data ext3 defaults 0 0′ >> /etc/fstab”(不含引号)命令写入新分区信息。或者手工编辑添加

6)、挂载新分区

使用“mount -a”命令挂载新分区,然后用“df -h”命令查看
如果嫌麻烦,也可以用阿里云提供的自动脚本auto_fdisk.sh

阿里云帮助

3. 阿里云默认关闭了swap,对于小内存的机器还是开启吧

开启swap
1)、查看当前的内存和分区使用情况

free -m

2)、创建swap分区

dd if=/dev/zero of=/var/swap bs=1M count=1024
mkswap /var/swap

3)、挂载

swapon /var/swap

4)、开机自挂载

使用“echo ‘/var/swap swap swap defaults 0 0′ >> /etc/fstab”(不含引号)命令写入新分区信息。或者手工编辑添加
注释掉 /etc/rc.d/rc.local 文件中 #swapoff -a

4. 开启阿里云监控

阿里云监控
1)、需要安装云盾

cd /tmp
wget http://update.aegis.aliyun.com/download/quartz_install.sh
chmod +x quartz_install.sh
sh quartz_install.sh

2)、进入监控控制台,设置规则。

5. 系统开发环境包安装

系统环境基础包安装
1)、yum groupinstall ‘Development Tools’
2)、yum -y install \

libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel \
libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel pcre-devel

3)、cmake安装

wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar zxf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./bootstrap
make
make install

6. mysql安装

mysql安装配置
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.37.tar.gz
tar zxf mysql-5.5.37.tar.gz
cd mysql-5.5.37

#从5.5开始都是用cmake安装,原来的configure安装取消了

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql

配置文件:my.cnf

数据库数据目录及权限帐号
mkdir -p /data/mysql
groupadd mysql
useradd -g mysql mysql
chown mysql:mysql -R /data/mysql

7. nginx安装

nginx安装配置
wget http://mirrors.sohu.com/nginx/nginx-1.4.7.tar.gz
tar zxf nginx-1.4.7.tar.gz
cd nginx-1.4.7
./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make
make install
开启GZip功能,减少文件传输量
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript;
gzip_vary off;
gzip_disable “MSIE [1-6]\.”;

8. php安装

php安装配置
1)、依赖包libmcrypt安装

wget https://vps.googlecode.com/files/libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure –prefix=/usr/local/libmcrypt
make
make install

2)、php编译安装

wget http://mirrors.sohu.com/php/php-5.4.26.tar.gz
tar zxf php-5.4.26.tar.gz
cd php-5.4.26
./configure –prefix=/usr/local/php –enable-fpm \

–with-mcrypt=/usr/local/libmcrypt \
–enable-mbstring –with-curl –disable-debug –disable-rpath \
–enable-inline-optimization –with-bz2 –with-zlib –enable-sockets \
–enable-sysvsem –enable-sysvshm –enable-pcntl –enable-mbregex \
–with-mhash –enable-zip –with-pcre-regex \
–with-gd –with-jpeg-dir \
–with-mysql=mysqlnd \
–with-mysqli=mysqlnd \
–with-pdo-mysql=mysqlnd

make
make install

ZendOPCache安装

为了加快PHP执行,一般都会装PHP加速插件(APC,eAccelerator,Xcache),以前是一般装APC,发现这个东西已经很长时间不更新了,官方也已经弄出一个OPCache,所以这里也装一下OPCache,对于原来APC带的User Cache功能,也有一个分支APCu(剔除了原来的opcode,之保留user cache功能),如果需要用user cache可以只装这个。
wget http://pecl.php.net/get/zendopcache-7.0.3.tgz
tar zxf zendopcache-7.0.3.tgz
cd zendopcache-7.0.3
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
修改php.ini
[zendopcache]
zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/opcache.so”
;opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=8000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
;opcache.validate_timestamps=1
;opcache.enable_cli=0

msgpack安装

PHP的serialize效率和性能不是很理想,几个其他的实现都不错,比如msgpack,igbinary等,这里采用msgpack。
wget http://pecl.php.net/get/msgpack-0.5.5.tgz
tar zxf msgpack-0.5.5.tgz
cd msgpack-0.5.5
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install

memcached PHP扩展安装

wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar zxf memcached-2.2.0.tgz
cd memcached-2.2.0
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config \
–with-libmemcached-dir=/usr/local/libmemcached \
–disable-memcached-sasl –enable-memcached-msgpack
make
make install
添加php.ini中配置信息
参考:[https://github.com/php-memcached-dev/php-memcached/blob/master/memcached.ini]
[memcached]
memcached.compression_type = “fastlz”
memcached.serializer = “msgpack”

9. memcached安装

memcached安装配置
1)依赖组件:libmemcached
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure –prefix=/usr/local/libmemcached
make
make install
2)依赖包:libevent
yum -y install libevent-devel

wget http://www.memcached.org/files/memcached-1.4.19.tar.gz
./configure –prefix=/usr/local/memcached
make
make install

10. redis安装

redis安装配置
wget http://download.redis.io/releases/redis-2.8.9.tar.gz
tar zxf redis-2.8.9.tar.gz
cd redis-2.8.9
make
mkdir -p /usr/local/redis/conf
cp redis.conf /usr/local/redis/conf/redis_default.conf
cd src
mkdir -p /usr/local/redis/bin
cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
配置文件:redis_6379.conf
启动脚本:redis

11. mongodb安装

mongodb安装配置
wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz
tar zxf mongodb-linux-x86_64-2.6.0.tgz
mkdir -p /usr/local/mongodb
cp -R -n mongodb-linux-x86_64-2.6.0/ /usr/local/mongodb
数据库数据目录及权限帐号
mkdir -p /data/mongodb/data
mkdir -p /data/mongodb/logs
groupadd mongodb
useradd -g mongodb -s /sbin/nologin -M mongodb
chown -R mongodb:mongodb /data/mongodb
配置文件:mongodb.conf
启动脚本:mongod