相信每个人都有一些自己的项目开发习惯,在·开篇·中我主要是会提到一些项目的配置问题.无论做一款什么样的手游项目,我们总是会从需求的角度出发去选择开发引擎,开发工具等一些列的工具去完善我们的开发环境.当然,对引擎的选择是很关键的(我们不讨论的需求,因为毕竟不是针对真是的展品,从学习交流的角度),不过我们这边只会选择cocos2d-x.

对于cocos2d-x,我总是赶不上官方更新的脚步.官方更新cocos engine(废除掉cocostudio以后的新东西),cocos2d-x engine开发包,cocos ide的脚步比较快,我选择的是cocos2d-x 3.3final.开发工具选择的不是cocos ide,而是一般的文本编辑器,根据个人爱好吧,我选用的是sublime text, 也可以选用ue,或者是ms新发出的code.前期需要的就只需要这么多到了.因为选用的版本是cocos2d-x 3.3 final.所以coco engine可能是没法用的.在后续的部分,我会给出一个我自己的解决方案,也可以先透漏一下,Ui部分自己写一个lua层面的中间解析库.动画部分用cocostudio v1.6来做就好了.这个呢就先带过吧.

上面也是透漏了,我不会选用单纯的c++去做,主要的原因是我对c++0x11不熟悉,一直没时间去学这个东西.从效率的角度出发,当然是c++要更快,更快也是要付出代价的,对程序员的素质要求也就更高.脚本的支持也是很多的,还是选用lua吧,其他脚本还要花时间去学习,虽然不是很难,可是还是在熟悉的领域做事比较舒服.废话也就这么多了,下面是要配置一下我们的win开发环境。

我不是高富帅,只有x86机器,所以我们来配置一下window开发环境.具体的文档可以参考cocos2dx-3.3/tools/bindings-generator/README.md文档. 对于一直使用cocos ide的同学可能有些人没有配置过,不过没关系,都是点点鼠标的事情,没什么难的.

下面我们创建一个自己的项目, 我给这一系列的项目起了一个名字叫做 firework. 这个名称的由来很简单, 就是想简单一点. cocos2d-x提供了终端脚本来创建项目,不过要在CMD穿越一大堆的目录还是略显蛋疼, 所以我就写了几个WIN32批处理脚本.

 @echo off
@setlocal :start set PYTHON_BIN=python
set COCOS_BIN=E:\cocos2d-x-3.3\tools\cocos2d-console\bin\cocos.py
set PROJECT_NAME=firework
set PACKAGE=com.respawn.firework
set LANGUAGE=lua
set DST=../ %PYTHON_BIN% %COCOS_BIN% new %PROJECT_NAME% -p %PACKAGE% -l %LANGUAGE% -d %DST% pause

这个脚本很简单, 使用的时候可以先创建这样的文件目录结构.

-- c2dx-firework-lua(我的项目根文件夹)

-- scripts

-- create-project.cmd

-- compile-win32.cmd

-- compile-android.cmd

-- firework(create-project.cmd创建的cocos2dx项目)

创建好项目之后就是编译咯. 我给出我的编译脚本.也就是上面的(compile-win32/android.cmd)

 @echo off
@setlocal :start set PYTHON_BIN=python
set COCOS_BIN=E:\cocos2d-x-3.3\tools\cocos2d-console\bin\cocos.py
cd ../firework
%PYTHON_BIN% %COCOS_BIN% compile -p win32 -j2 pause

相同, compile-android.cmd则直接修改上面的编译平台就行了.这个大家应该都是知道的.至于是不是用多线程编译就视自己的机器情况而看吧.

编译好之后我们在scripts同级目录创建一个文件夹, 用作WIN32开发的根目录. 因为win32编译之后的文件目录层次有点深了, 每次都需要一点点点到那边很费劲. 所以干脆就移除来吧. 另外这么做的目的也是方便SVN/GIT管理.总不能把所有firework目录的东西都上传到版本仓库吧.太大了, 使用过得就都知道.好的, 我加上了版本号,创建了一个firework-v1.0的文件夹.在下面又创建了两个子文件夹也就是apk/和win32-build.

-- c2dx-firework-lua(我的项目根文件夹)

-- scripts

-- create-project.cmd

-- compile-win32.cmd

-- compile-android.cmd

-- firework(create-project.cmd创建的cocos2dx项目)

-- firework-v1.0

--apk

--win32-build

我们将编译好的runtime下面的文件以及库对用WIN32都拷贝到win32-build下面.如果打包了那就把apk拷贝到apk下面.然后firework-v1.0就作为仓库的一个子目录上传就好了.这样无论是同步还是更新的速度都很快.好了,开篇的文章就是这么多了.

`cocos2dx非完整`开篇的更多相关文章

  1. `cocos2dx非完整` 添加xxtea加密模块

    在上一篇文章中,我已经开始着手写自己的模块,也就是fw部分.其中上一篇文章中完成的是lua部分的配置解析部分,涉及一点点平台方面的封装.这一片文章我来说明一下我是如何处理cocos2dx资源加密的.首 ...

  2. `cocos2dx 非完整` UI解析模块

    昨天在cocos2dx的一个群里,遇到一位匿名为x的朋友询问的问题,是关于ui的.他使用c++写了不少的ui封装节点,用来实现游戏中的各种不同效果.然后现在想改用lua,于是尝试使用最小代价去复用自己 ...

  3. `cocos2dx非完整` 日志模块 增量更新

    在上一篇文章中,说到了"流程"的由来,以及我对流程的使用. 这一片就是对流程的应用.前一篇文章中说到了三条流程 check_log_measure, check_env_measu ...

  4. `cocos2dx非完整` 游戏架构缩影 添加启动流程

    这期的话题可能不是很好, 我没有想到很好的词句去更好的表达. 我一直都是很固执的认为, 同一类型的游戏,在开发做的前期工作上面其实都是可以复用的,也就是大同小异的.从游戏启动,启动日志,启动检查,检查 ...

  5. `cocos2dx非完整` 开始自己的FW模块

    上一篇的文章中说到了一些个人习惯的东西以及一些简单的项目配置,这一篇文章我们来进一步完善一些东西.首先,打开编译以后的客户端执行,会看到一大堆的fileutils加载luac文件的提示,在终端显示一大 ...

  6. 新版本ffmpeg解码非完整H264帧失败

    按照ffmpeg/doc/examples/decoding_encoding.c中video_decode_example解码H264,新版本ffmpeg解码非完整H264帧,定量读取数据直接给av ...

  7. `fw服务端非完整` 工程开发初期的工作

    前面写到了一些关于cocos2dx在开发中的一些模块以及一些解决方法,那些都属于本人的个人简介和个人倾向的解决方案.最近这几天我完善了一下ui解析的部分,当然也只是抽出一点点时间去做的这件事情.我添加 ...

  8. hadoop学习day1环境配置笔记(非完整流程)

    hdfs的工作机制: 1.客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户 ...

  9. 利用樹霉派採集溫濕度上傳到OneNET(非完整,僅參考)

    看圖: Python代碼: #env /usr/bin/python3 #author Bruce import RPi.GPIO as GPIO import time import json im ...

随机推荐

  1. Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据

    Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...

  2. paip.刮刮卡砸金蛋抽奖概率算法跟核心流程.

    paip.刮刮卡砸金蛋抽奖概率算法跟核心流程. #---抽奖算法需要满足的需求如下: 1 #---抽奖核心流程 1 #---问题???更好的算法 2 #---实际使用的扩展抽奖算法(带奖品送完判断和每 ...

  3. asp提取声母源码

    <% '****************************** '函数:getpychar(char) '参数:char,任意中文字符或句子 '作者:阿里西西 '日期:2007/7/15 ...

  4. Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64

    Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色. Armv6.armv7.armv7s.arm64都是ar ...

  5. Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar

    web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...

  6. Symbols of String Pattern Matching

    Symbols of String Pattern Matching in Introduction to Algorithms. As it's important to be clear when ...

  7. 教程:使用Diskpart创建、扩展或删除磁盘分区

    在Windows Server环境下进行基本的磁盘操作时,管理员可以使用Disk Partition Utility或Diskpart等工具.后者是一个命令行解释器,可作为磁盘管理工具. 管理员可以使 ...

  8. AsyncTask实现多任务多线程断点续传下载

    这篇博客是AsyncTask下载系列的最后一篇文章,前面写了关于断点续传的和多线程下载的博客,这篇是在前两篇的基础上面实现的,有兴趣的可以去看下. 一.AsyncTask实现断点续传 二.AsyncT ...

  9. Linux 下安装Samba 文件共享服务器

    samba文件共享服务可以让linux和linux系统.linux和windows系统之间共享文件 服务查询 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为了对整个过程有 ...

  10. mysql 修改root登录密码

    mysql -u root -p 然后回车,进入(等于用空密码进入) 2 use mysql; update user set password=password('123456') where us ...