来源:蜘蛛抓取(WebSpider)
时间:2011-09-30 15:43
标签:
横版2d安卓游戏
亲,想发表评论请下载哦~
该用户创建的其他应用集:
1034人查看
2966人查看
?别揪我小耳朵?
812419人查看
9665人收藏
1927133人查看
11616人收藏
1201896人查看
6420人收藏
255184人查看
2724人收藏
197460人查看
2782人收藏
宝石蓝疼痛
1407140人查看
9304人收藏
B站黑角ZERO
222152人查看
1953人收藏
3138109人查看
13108人收藏
1583921人查看
15172人收藏
4149543人查看
22407人收藏
我们的产品
客服邮箱:
微博/微信合作QQ:
网游玩家客服QQ:
24小时举报电话号码:
广告合作QQ:
游戏合作QQ:
北京掌汇天下科技有限公司 版权所有
京公网安备39号|
京ICP备号-1& 编程开发 & 编程控件 & 安卓2D与3D游戏类库(libgdx)官方下载
安卓2D与3D游戏类库(libgdx) 0.9.6 官方最新版
温馨提示:您的IP是
投诉建议: .cn
千万流量共享
百度高权重排名
0.9.6 官方最新版
本地下载:
聚超值推荐
最新游戏推荐 软件专题排行
同类软件下载排行
热门关键词& 手机游戏加密之2d资源加密
手机游戏加密之2d资源加密
关于图片资源的打包当然是采用TexturePacker了。官方网址:http://www.codeandweb.com/texturepacker 个人觉得是2d里面最好的资源打包工具,没有之一。 TexturePacker它是一款把若干资源图片拼接为一张大图的工具。TexturePacker可以直接选定一个文件夹,将里面的小图片生成一个大图片,并输出plist文件的工具。使用该工具,合图就非常简单了。TexturePacker自带有资源加密的功能。 关于如何使用。在此不再赘述。可自行搜索教程。 在此只想说明两点网上很少提及的: 1.命令行。 2.加密。 一、命令行 TexturePacker 界面的设置完全可以用命令行来执行。这样的好处就是完成可以批处理图片资源。前期资源是没有压缩和加密的。后期只需要替换压缩图片。使用命令行批处理一下。非常非常的方便。 1.命令行的安装。 默认安装TexturePacker 之后,命令行是没有配置到系统环境的。配置方法如下: 单击单击标题栏TexturePacker,选择安装命令行。即可。 2.TexturePacker 的一些常用参数信息 下面是TexturePacker 的一些常用参数信息。详细参数可直接在终端输入TexturePacker
You&can&specify&one&or&more&.png&or&.tps&files&or&directories&for&processing.&&&&
&&&&&&&&&&&&&&&&&&&&&&Recursively&adds&all&known&files&in&the&sprite&sheet&&&&
&&&*.tps&&&&&&&&&&&&&&&&&&&&*.tps&file&created&with&TexturePackerPro&(requires&pro&license)&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Additional&set&options&override&settings&in&the&*.tps&file&&&&
&&&*.swf&&&&&&&&&&&&&&&&&&&&Flash&requires&pro&license&&&&
&&&&&&&&&&&&&&&&&&&&&&Image&formats,&supported:&&&&&
&Output:&&&&
&&--sheet&&&&&&&&&&&Name&of&the&sheet&to&write,&see&texture-format&for&formats&available&&&&
&&--texture-format&&&&&&&&Sets&the&format&for&the&textures.&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&The&format&type&is&automatically&derived&from&the&sheet's&file&name&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if&possible.&&&&
&&--data&&&&&&&&&&&&Name&of&the&data&file&to&write&&&&
&&--format&&&&&&&&&&&&Format&to&write,&default&is&cocos2d&&&&
&--force-publish&&&&&&&&&&&&&Ignore&smart&update&hash&and&force&re-publishing&of&the&files&&&&
&--texturepath&&&&&&&&&Adds&the&path&to&the&texture&file&name&stored&in&the&data&file.&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Use&this&if&your&sprite&sheets&are¬&stored&in&another&folder&than&your&data&files.&&&&
&&--reduce-border-artifacts&&&Removes&dark&shadows&around&sprites&&&&
&&--extrude&&&&&&&&&&&&&&Extrudes&the&sprites&by&given&value&of&pixels&to&fix&flickering&problems&in&tile&maps&&&&
&&--scale&&&&&&&&&&&&&&Scales&all&images&before&creating&the&sheet.&E.g.&use&0.5&for&half&size&&&&
&&--scale-mode&&&&&&&&&&Use&mode&for&scaling:&&&& 二,图片加密 接下来讲述资源加密的一些技巧, 关于图片加密其实TexturePacker官方有详细的指导说明,官方有一篇文档有完整的介绍。 http://www.codeandweb.com/texturepacker/contentprotection 不过,cocosBuilder作者已经不再维护Builder了。所以教程对应的cocos2d 2.x 有些过时。所以在此重新啰嗦一下. 查看cocos2dx源代码发现加密的关键部分:大致意思就是用密钥循环异或data字节。
for(;&i&&&len&&&&i&&&&i++)&&&&
&&&&data[i]&^=&s_uEncryptionKey[b++];&&&&
&&&&if(b&&=&enclen)&&&&
&&&&&&&&b&=&0;&&&&
for(;&i&&&&i&+=&distance)&&&&
&&&&data[i]&^=&s_uEncryptionKey[b++];&&&&
&&&&if(b&&=&enclen)&&&&
&&&&&&&&b&=&0;&&&&
} 1.效果预览: 首先看一下,资源包加密VS未加密预览的效果:VS 采用TexturePacker加密之后,资源是无法被查看到的。 Ps:在开发的过程中,可以采用未加密的资源开发,之后再打包发布的时候,采用命令行批处理一遍即可。 2.资源加密步骤: 1.单击ContentProtection旁边的Lock图标。弹出lock窗口: 你需要填写32位的密钥(0-9 a-f) Create new key 是系统随机密钥 Clear/Disable 启用/关闭图片加密功能 Save as global key 将该密钥作为全局的密钥,以后对其他的图片加密直接使用global key 即可。 Use global key 使用保存的全局密钥。 2.Save 3.Publish 接下来的步骤和官方的介绍不同:主要是3.0已经集成了图片加密的功能。 首先需要了解: 如果你的密钥是aaaaaaaabbbbbbbbccccccccdddddddd,你必须将它们分成4部分每部分8位: 0xaaaaaaaa 0xbbbbbbbb 0xcccccccc 0xdddddddd 在TexturePacker官网介绍的方法是下载其提供的ZipUtils 文件替换cocos2dx 。在最新版的cocos2dx zipUtils 里面已经集成了对TexturePacker 解密的处理,所以无需按照其步骤处理。 Ps:下载其ZipUtils 复制替换后,cocos2dx lib 会出错。 我们直接使用coco2d-x-3.0自带的可以了。下面是对其解密的源代码:
cocos2dx/support/zip_support/ZipUtils.h&&&&
&&&&&&&&static&void&ccSetPvrEncryptionKey(unsigned&int&keyPart1,&unsigned&int&keyPart2,&unsigned&int&keyPart3,&unsigned&int&keyPart4);&&& Ps: 在ZipUtils 中还有其他类似的函数。使用其中一个即可。 调用: 我们在AppDelegate.cpp applicationDidFinishLaunching函数中增加如下代码:
ZipUtils::ccSetPvrEncryptionKey(0xxxx);&& 就可以正常使用资源了。 下面是Lua 使用资源的测试代码:
require&&Cocos2d&&&&&
cclog&=&function(...)&&&&
&&&&print(string.format(...))&&&&
--&for&CCLuaEngine&traceback&&&&
function&__G__TRACKBACK__(msg)&&&&
&&&&cclog(&----------------------------------------&)&&&&
&&&&cclog(&LUA&ERROR:&&&..&tostring(msg)&..&&\n&)&&&&
&&&&cclog(debug.traceback())&&&&
&&&&cclog(&----------------------------------------&)&&&&
local&function&createShowSpriteScene()&&&&
&&&&cc.SpriteFrameCache:getInstance():addSpriteFrames(&files/sprite.plist&)&&&&
&&&&local&showSprite&=&cc.Sprite:createWithSpriteFrameName(&success_1.png&)&&&&
&&&&&&&showSprite:setPosition(cc.p(200,200))&&&&
&&&&return&showSprite&&&&
local&function&main()&&&&
&&&&--&avoid&memory&leak&&&&
&&&&collectgarbage(&setpause&,&100)&&&&
&&&&collectgarbage(&setstepmul&,&5000)&&&&
&&&&local&scene&=&cc.Scene:create()&&&&
&&&&local&layer&=&createShowSpriteScene()&&&&
&&&&scene:addChild(layer)&&&&
&&&&cc.Director:getInstance():runWithScene(scene)&&&&
xpcall(main,&__G__TRACKBACK__)&&&& 当我们注释在AppDelegate.cpp中,添加的代码后:会报如下错误:
本文发布:
本文地址:
发布:鸡啄米
&&( 11:54:27)&&( 15:16:24)&&( 10:22:54)&&( 11:40:12)&&( 12:52:35)&&( 10:27:20)&&( 10:39:53)&&( 10:41:15)&&( 11:5:13)&&( 11:29:1)
完全随机文章404-页面不存在18被浏览4,813分享邀请回答2添加评论分享收藏感谢收起2添加评论分享收藏感谢收起