前端之家收集整理的这篇文章主要介绍了
Cocos2dx+lua打包wp8教程,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@研究了2周,终于研究出来,绝对原创,请转载的说明出处,这个
内容可能有点长,但是如果你按照教程走,则一定会成功的,下面来说步骤:
一:开发环境和SDK
Win8
操作系统:这里在官网上下载企业版或者专业版,因为这两个版本才支持Hyper-V
服务;
windowsphone SDK8.0
;
vs2012
或者vs2013
:如果你的真机用的操作系统是window phone 8.1,那么你的vs2012
要更新update
,但是我这里建议用vs2013
,就懒得更新了;
Cocos2dx3.0
:官网下载;
quickv3
:地址为https://github.com/dualface/v3quick
,因为我是模仿quickv3
来打包的,所以你可以下载下来研究一下,后面会讲;
真机:这里我用的操作系统为8.1
;
二:真机测试
1.
调试前的准备:
首先你必须是微软开发者账号(现在是免费的),现在的微软的账号(就是你安装win8
操作系统的时候叫你输入的账号)和开发者账号需要绑定的;
主要是手机上要下载“用于开发人员的预览”这个软件,然后安装就行了,可以参考http://jingyan.baidu.com/article/ff42efa9193fb8c19e22020b.html
;
2.
模拟器调试:
我这里没用模拟器调试,因为我的机子不支持虚拟化支持,如果要开启的话,你只需要打开bios
设置就行了,所以就没用模拟器调试;
3.
真机调试:
下载好cocos2dx3.0
以后,打开build
文件下的cocos2d-wp8.vc2012.sln
,然后选择cpp-tests
文件夹,然后把项目cpp-tests
设置为启动项目。
这时也要把模拟器设置device,平台设置为arm
:
然后运行看是否成功,如果能在真机上跑的话,恭喜你测试成功;
当然这里有可能调试遇到一个问题,就是指定的通信端口已经由另外一个程序使用,原因是你的手机原来用过真机调试并且通过了的,在手机上面有测试的项目,那么你就把它删除就行了;
1.
首先我先想的是到底打包成静态库还是动态库,当时就查了一下他们之间的区别,我这里先就我说看的总结一下:
创建静态库:建立win32
,然后生成,参考http://www.cnblogs.com/skynet/p/3372855.html
;
创建动态库:参考http://www.cnblogs.com/skynet/p/3372855.html
;
使用动态库(动态链接库):这里有2
种方法:这里有dll
库和lib
,这里的lib
和静态库的lib
不一样,等会发几个参考链接;
第一种方法:载入时动态链接(隐式调用,静态调用dll
):#pragmacomment(lib,lib”);
还有一个extern “C”
;
这里给几个网站:
当然这里讲的是win32
上的;
2.
然后静态库和动态库的区别我搞清楚了,然后我想的是怎么来把cocos2dx
所以的库打包成wp8
的库参考文章:
总结了大致过程
大致的调用过程为:C# Phone Application=>windows phone 运行时组件=>windowsphone 空静态库或者空动态链接库;
这时我想到的第一种方法是先建立
windows phone
空静态库,
然后把cocos2dx
所以的源代码拷贝到里面去(后来发现quickv3
就是这样做的),但是太多了,就没做。
然后我这时把cocos2dx3.0
建立的c++
项目打开发现有wp8
的分支,而且除了liblua
库其余所有的库都有wp8
的包,那么我就只打liblua
库成wp8
就行了。
所以我打开打开build
文件下的cocos2d-wp8.vc2012.sln
,然后选择cpp-empty-test
文件夹,然后在cocos2d-x-3.0\tests\cpp-empty-test\proj-wp8-xaml
文件下面添加了一个文件夹liblua
文件夹,然后右键点击cpp-empty-test
文件夹,添加项目,选择
空静态库,位置在刚刚建立的liblua文件夹下面: