GameRes游资网

 找回密码
 立即注册
查看: 4594|回复: 12

暗黑世界 客户端 配置文档

[复制链接]
发表于 2013-9-23 12:50:17 | 显示全部楼层 |阅读模式
                暗黑世界————客户端文档

iOS:

1、配置注意事项:
  • 当提示找不到include/json/json.h等其他在include/json/目录下出现的问题时,需要在工程下的target的里找到buildsetting选项,然后选择all 找到 Header Search Pahts选项添加"$(SRCROOT)/../Classes/json/include",则该问题可以解决。
  • 在target中的Deployment Target的版本号要与Project里面的iOS Deployment Target的版本号一致。
  • 如若在编译的过程中找不到文件,确认一下看是否添加入文件。或者将Classes文件夹从目录中删除(不是move to trash),然后再添加一次。
  • 修改工程名称在Target 里的packaging选项卡里面有一个字段叫做Product Name


2、资源注意事项:
  • 图片资源都在resource文件夹下面。图片的格式采用png格式 pvr格式 pvr.czz格式。
  • 将同一界面的图片进行打包,打包之后生成一个plist文件和一张拥有小图的大png图(此处不一定会采用png格式 还有可能是pvr格式的图片,该图片格式只能在cocos2dx 2.0以上版本使用,还有可能是pvr的压缩格式。Pvr.czz)。正常的png图片都是32位的。但是32位的图片在加载的过程中需要自身几倍的内存来进行图片渲染。所以32位的会很占内存。我们的游戏中采用16位图,16位图通过texturepackge进行大图整合,最后输出16位图片。16位图在内存中加载的大小就是自身的大小。很多闪退都是由于内存爆表而导致的,这里很重要。(注PVR格式在安卓下面的兼容性不是很好。在安卓下面可以采用PNG格式)。
  • 音频格式我们采用mp3格式同样也可是使用wav格式等其他的音频格式。音频管理类:soundscontrol.h。
  • 配置文件该项目统一采用json格式,json的解析我们采用第三方库jsoncpp,该第三方库支持多平台编译。


3、代码注意事项:

资源加载方式采用分批加载的方式,用到哪个界面就加载哪个界面。但该界面释放之后,其资源也随之释放。通常在其析构函数中或者onExit方法中进行资源释放。

查看内存使用情况:
  1. CCTextureCache::sharedTextureCache()->dumpCachedTextureInfo()
复制代码
资源加载:
  1. CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("login.plist");
复制代码
资源释放:
  1. CCSpriteFrameCache::sharedSpriteFrameCache()->removeSpriteFramesWithFile("login.plist");
  2. CCTextureCache::sharedTextureCache()->removeUnusedTextures();
  3. CCLayer::onExit();
复制代码
加载序列帧动画 我们是将帧图通过动画编辑器进行编辑和时间的调整,最后生成一个XML 文件,此处动画的加载就是将该XML进行加载。此处我们用AnimatePacker动画编辑器  

加载语句:
  1. AnimatePacker :: getInstance()->loadAnimations(animation);
复制代码
释放语句:
  1. AnimatePacker :: getInstance()->freeAnimations(animation);
复制代码
执行系统动画 此处我们要注意的是当一个精灵执行
  1. CCSequence * seq=CCSequence::create(a,b,c,NULL);  
复制代码
后面必须加NULL空指针,如果不加NULL 当给系统打包成ipa的时候运行会出现闪退。
加载文件  在没有进行android平台编译之前,该程序采用ifstream 字节流的方式进行文件读写。但是在android平台下会出现闪退的情况,此处改为
  1. CCString * str= CCString::createWithContentsOfFile("item.json");
复制代码
这样在多平台下就可以通过编译。
在android平台下只能#include<fstream> 而不能#include<fstream.h>,在android平台下
  1. std::numeric_limits<int>::min()
复制代码
这个函数也会报错。该函数是取int型的最小值。
iOS下面修改横竖屏在ios文件下的
  1. RootViewController.mm
  2. -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  3.   return !UIInterfaceOrientationIsLandscape( interfaceOrientation );
  4. }
复制代码
在UIInterfaceOrientationIsLandscape在这之前加上非!

android平台:

1、配置注意事项:
(1)下载Mac版ADT Bundle,这个Bundle包含了配置好了的IDE-eclipse和android sdk 最好用eclipse更新下android sdk,这样才会有低版本的Sandroid sdk 。进入window->android SDK Manager 在里面选择更新的Android SDK。

下载地址:http://developer.android.com/sdk/index.html

NDK下载地址:http://developer.android.com/tools/sdk/ndk/index.html

(2)如果最初没有在多平台下进行编写,那么就需要将所有的类移植到Classes文件夹下。在proj.android 里的jni文件夹中找到找到list.sh 在终端下运行,该文件可以获取相应目录下的cpp文件,我们需要获取Classes文件夹下的目录。获取目录之后需要在jni文件夹下找到android.mk文件然后右键以文本文档格式打开或者直接在eclipse下打开。将获取的路径复制到LOCAL_SRC_FILES后面 如下图所示:

在终端输入pico .bash_profile.在文件中添加
export COCOS2DX_ROOT=cocos2d-x的根目录。
export ANDROID_SDK_ROOT=android sdk根目录
export ANDROID_NDK_ROOT=android ndk根目录
export NDK_ROOT=android NDK根目录
export PATH=$PATHANDROID_NDK_ROOT
export PATH=$PATHANDROID_SDK_ROOT

该步骤是设置目录
完成上述步骤之后我们需要编译android project 进入终端进入projects目录下的proj.android文件夹里然后运行./bulid_native.sh
把资源文件导入到projects里的resource文件夹下,如若有文件夹需要加上相对应的目录
第三方库在LOCAL_C_INCLUDE后面加上其对应的路径。
(3)把建好的project导入eclipse里面。然后运行。


游客,如果您要查看本帖隐藏内容请回复


发表于 2013-9-24 18:09:25 | 显示全部楼层
哥,windows下怎么搞 客户端搞一天没跑起来,服务端到时还行,能跑起来,就是有点乱。
发表于 2013-9-27 18:55:21 | 显示全部楼层
ssdfsfsdfdsfs
发表于 2013-10-10 08:06:14 | 显示全部楼层
支持!!!路过看看!!!
发表于 2013-12-3 17:48:29 | 显示全部楼层
路过看看看路过看看看
发表于 2014-3-26 15:41:01 | 显示全部楼层
我来看看啊
发表于 2014-4-21 15:35:16 | 显示全部楼层
seeseeseeseesee
发表于 2014-6-6 14:53:41 | 显示全部楼层
感谢~~~~~~~~~~~~~~~~~~~
发表于 2014-6-12 10:51:54 | 显示全部楼层
学习一下,谢谢楼主
发表于 2014-6-17 01:00:04 | 显示全部楼层
学习一下,谢谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告投放|信息发布|关于本站|手机版|GameRes游资网 ( 闽ICP备05005107-1 )

GMT+8, 2017-10-21 23:44

快速回复 返回顶部 返回列表