游戏开发过程中要涉及到大量的图片,使用TexturePacker可以把小图合成大图。这是我们使用最多的功能,但是TexturePacker还带有对图片加密的功能。之前还是对加密不慎了解,所以写下来分享下。

把图片导入到TexturePacker中:

接下来就是加密了

>----- Create new key 是系统随机密钥

>----- Clear/DIsable  启用、关闭图片加密功能

>----- Save as global key 将密钥作为全局的密钥,以后对其他的图片加密直接点击use global key就行

>----- Use global key 使用保存的全局密钥

点击Save

点击Publish。把生成的plist和ccz文件复制到资源文件夹下面就行了。

由于使用的cocos2dx 3.0的版本不需要更新ZipUtils文件。同样TestCpp中也有示例:\cocos2d-x-3.0\tests\cpp-tests\Classes\TexturePackerEncryptionTest

在这里使用的密钥为:

中间的空格我手动添加的,因为在程序中使用需要把32位密钥分成4个十六进制的值。我们可以在cocos2dx的AppDelegate中添加设定密钥,或者在我们使用的位置添加。

本示例在AppDelegate中添加的

用到的头文件:

#include "cocos/2d/ZipUtils.h"

 bool AppDelegate::applicationDidFinishLaunching() {
// initialize director .............. // 2528bd78 112d53ef fa5e5fb2 b7a5b25a (加密的 必须是32位十六进制值)
ZipUtils::setPvrEncryptionKeyPart(, 0x76bcbb68);
ZipUtils::setPvrEncryptionKeyPart(, 0x3a89c4f1);
ZipUtils::setPvrEncryptionKeyPart(, 0xa9dfbac2);
ZipUtils::setPvrEncryptionKeyPart(, 0x65a46419); // 或者按照这种方式添加
//ZipUtils::setPvrEncryptionKey(0x2528bd78, 0x112d53ef, 0xfa5e5fb2, 0xb7a5b25a); auto scene = TexturePackageEnvryption::scene();
// run
director->runWithScene(scene); return true;
}

在我们程序中具体使用如下:

  SpriteFrameCache::getInstance()->addSpriteFramesWithFile("TexturePackageEncryption/poker.plist", "TexturePackageEncryption/poker.pvr.ccz");  

  auto spriteRole = Sprite::createWithSpriteFrameName("1.png");
spriteRole->setPosition(Point(, ));
this->addChild(spriteRole);

cocos2dx 3.x(TexturePacker进行图片加密)的更多相关文章

  1. cocos2dx 单张图片加密

    cocos2dx 已经封装好读取加密的prv文件的方法,打开texturepacker,导入一张图片,在content protection中写入密钥,在texture format中选择prv格式 ...

  2. cocos2dx图片加密解密(npk方式)

    话不多说,直接开始: 准备的工具: 链接:https://pan.baidu.com/s/1Om4kBNWcG2jL_RTsHqqzpQ 提取码:bv7i npkCreate.exe是加密图片的工具, ...

  3. texturepacker打包图片,场景切换时背景图有黑边

    在使用TexturePacker打包图片之后,背景图在场景切换(有切换动画)时,明显能看到有黑边,在百度之后解决了. 知乎上边有网友贴出了两种解决方法,我抄过来如下: 第一种: 修改 ccConfig ...

  4. php实现图片加密解密,支持加盐

    一个简单的图片加解密函数 使用client跑,不要使用浏览器跑 qq845875470 ,技术交流 <?php /** * Created by hello. * User: qq 845875 ...

  5. cocos2d-x lua 使用http(下载图片, POST JSON)

    cocos2d-x lua 使用http(下载图片, POST JSON) version: cocos2d-x 3.6 1.使用http post json与服务器交互 require(" ...

  6. c# 图片加密解密的实例代码

    c# 图片加密解密的实例代码. 代码: using System; using System.Collections.Generic; using System.Text; using System. ...

  7. 基于混沌Logistic加密算法的图片加密与还原

    摘要 一种基于混沌Logistic加密算法的图片加密与还原的方法,并利用Lena图和Baboon图来验证这种加密算法的加密效果.为了能够体现该算法在图片信息加密的效果,本文还采用了普通行列置乱加密算法 ...

  8. 大华摄像头报警接口中图片加密,python调用c++方式实现解密

    项目中,大华摄像头的报警信息,里面有图片地址,需要1天内取下来,保持留痕 可惜,图片下载后,加密了,大华提供了android,ios,c++例子,没有提供java解密例子 没办法,只好先用c++例子简 ...

  9. cocos2d-x中描述精灵帧图片的plist和json文件各个key的含义

    最近在研究cocos,互联网行业中,手游业最近的表现是非常的火,加上本身对游戏有浓厚兴趣,所以便染指了游戏引擎~ 这次的废话就这么简短吧,因为这次记录的东西本身就很少. 在cocos中,为精灵帧添加缓 ...

随机推荐

  1. ACM 交换输出

    交换输出 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.(如果这个第一个数就是最 ...

  2. 省略文字的css

    在显示一行文字时,如果容器太小,为了显示出省略字符,可以使用 ellipsis { white-space: nowrap; overflow: hidden; text-overflow: elli ...

  3. 无法将Win7安装到GPT分区下解决办法

    当出现"您想将windows安装 在何处时",按shift+F10打开命令提示符,输入:diskpartlist disksel disk 0cleanconvert mbr完成转 ...

  4. 关于多条id相同,只取其中一条记录的sql语句

    需要使用:分区函数用法(partition by 字段) select *,row_number() over(partition by item order by date  ) as index ...

  5. 五、点数器《苹果iOS实例编程入门教程》

    该app为应用的功能为一个简单的数数程序 现版本 SDK 8.4 Xcode 运行Xcode 选择 Create a new Xcode project ->Single View Applic ...

  6. 30分钟学会使用grunt打包前端代码

    http://www.cnblogs.com/yexiaochai/p/3603389.html

  7. MVVMLight Messenging

    Basically there are two possible ways to send a message, first using an overload of the RaisePropert ...

  8. Pixar Shorts 皮克斯动画短片全集

    [原创短片](Theatrical Shorts)16部 <安德鲁和威利冒险记><顽皮跳跳灯><红色的梦><锡铁小兵><小雪人大行动>< ...

  9. 诅咒JavaScript之:Jquery ajax提交内容异常

    jquery ajax 通过url提交内容,在服务器端获取却出现很奇怪的值,代码如下: ajaxurl = "aspx/logTable.ashx?action=load&Every ...

  10. HTML input文本框设置和移除默认值

    这里想实现的效果是:设置和移除文本框默认值,如下图鼠标放到文本框中的时候,灰字消失. 1.可以用简单的方式,就是给input文本框加上onfocus属性,如下代码: <input id=&quo ...