`cocos2dx非完整`开篇
相信每个人都有一些自己的项目开发习惯,在·开篇·中我主要是会提到一些项目的配置问题.无论做一款什么样的手游项目,我们总是会从需求的角度出发去选择开发引擎,开发工具等一些列的工具去完善我们的开发环境.当然,对引擎的选择是很关键的(我们不讨论的需求,因为毕竟不是针对真是的展品,从学习交流的角度),不过我们这边只会选择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非完整`开篇的更多相关文章
- `cocos2dx非完整` 添加xxtea加密模块
在上一篇文章中,我已经开始着手写自己的模块,也就是fw部分.其中上一篇文章中完成的是lua部分的配置解析部分,涉及一点点平台方面的封装.这一片文章我来说明一下我是如何处理cocos2dx资源加密的.首 ...
- `cocos2dx 非完整` UI解析模块
昨天在cocos2dx的一个群里,遇到一位匿名为x的朋友询问的问题,是关于ui的.他使用c++写了不少的ui封装节点,用来实现游戏中的各种不同效果.然后现在想改用lua,于是尝试使用最小代价去复用自己 ...
- `cocos2dx非完整` 日志模块 增量更新
在上一篇文章中,说到了"流程"的由来,以及我对流程的使用. 这一片就是对流程的应用.前一篇文章中说到了三条流程 check_log_measure, check_env_measu ...
- `cocos2dx非完整` 游戏架构缩影 添加启动流程
这期的话题可能不是很好, 我没有想到很好的词句去更好的表达. 我一直都是很固执的认为, 同一类型的游戏,在开发做的前期工作上面其实都是可以复用的,也就是大同小异的.从游戏启动,启动日志,启动检查,检查 ...
- `cocos2dx非完整` 开始自己的FW模块
上一篇的文章中说到了一些个人习惯的东西以及一些简单的项目配置,这一篇文章我们来进一步完善一些东西.首先,打开编译以后的客户端执行,会看到一大堆的fileutils加载luac文件的提示,在终端显示一大 ...
- 新版本ffmpeg解码非完整H264帧失败
按照ffmpeg/doc/examples/decoding_encoding.c中video_decode_example解码H264,新版本ffmpeg解码非完整H264帧,定量读取数据直接给av ...
- `fw服务端非完整` 工程开发初期的工作
前面写到了一些关于cocos2dx在开发中的一些模块以及一些解决方法,那些都属于本人的个人简介和个人倾向的解决方案.最近这几天我完善了一下ui解析的部分,当然也只是抽出一点点时间去做的这件事情.我添加 ...
- hadoop学习day1环境配置笔记(非完整流程)
hdfs的工作机制: 1.客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户 ...
- 利用樹霉派採集溫濕度上傳到OneNET(非完整,僅參考)
看圖: Python代碼: #env /usr/bin/python3 #author Bruce import RPi.GPIO as GPIO import time import json im ...
随机推荐
- Atitit.并发编程原理与概论 attilax总结
Atitit.并发编程原理与概论 attilax总结 1. 并发一般涉及如下几个方面:2 2. 线程安全性 ( 2.2 原子性 2.3 加锁机制2 2.1. 线程封闭3.3.1Ad-hoc线程封闭 3 ...
- paip.网页右键复制菜单限制解除解决方案
paip.网页右键复制菜单限制解除解决方案 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net ...
- iOS开发之静态库(四)—— 静态框架framework制作
前面介绍过,虽然苹果公司禁止在iOS开发中使用动态库,而且也从XCode中移除了创建静态框架的功能,但我们还是可以通过对XCode进行小小的改动来创建静态框架. 编译环境:Macbook Air + ...
- iOS开发-- 开发环境,证书和授权文件
一.成员介绍 1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑 ...
- node.js WebService异常处理(domain)以及利用domain实现request生命周期的全局变量
成熟的Web Service技术,例如Fast CGI.J2EE.php,必然会对代码异常有足够的保护,好的Web必然会在出错后给出友好的提示,而不是莫名其妙的等待504超时.而node.js这里比较 ...
- Leetcode 20 Valid Parentheses stack的应用
判断括号是否合法 1.用stack存入左括号“([{”,遇到相应的右括号“)]}”就退栈 2.判断stack是否为空,可以判断是否合法 class Solution { public: bool is ...
- SoapUI Pro Project Solution Collection-DataSource(jdbc,excel)
here give a solution for excel file change the excel configuration these: Set Excel file path in cur ...
- RPM -U 升级机制探索
今天被RPM升级机制狠狠的阴了一把,差点没过来,趁着热乎赶紧记录下来,已被后用. RPM包有升级机制(Upgrade), 使用-U 参数.这点我之前略有耳闻,知道的并不详细. 先说说案例:半年前我们r ...
- AYUI4.X即将发布
AYUI里程碑故事: AYUI 1.x系列: 面向源码的方式开发,客户只有源码才能开发,客户端对接ayui,很不方便,相比上个版本,提供了一些元老控件,文件夹结构比较零散 AYUI 2.x系列: ...
- JavaScript过滤除连续的数字
if (!Array.prototype.forEach) { Array.prototype.forEach = function (callback, thisArg) { var T, k; i ...