cocos2dx 3.x(TexturePacker进行图片加密)
游戏开发过程中要涉及到大量的图片,使用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进行图片加密)的更多相关文章
- cocos2dx 单张图片加密
cocos2dx 已经封装好读取加密的prv文件的方法,打开texturepacker,导入一张图片,在content protection中写入密钥,在texture format中选择prv格式 ...
- cocos2dx图片加密解密(npk方式)
话不多说,直接开始: 准备的工具: 链接:https://pan.baidu.com/s/1Om4kBNWcG2jL_RTsHqqzpQ 提取码:bv7i npkCreate.exe是加密图片的工具, ...
- texturepacker打包图片,场景切换时背景图有黑边
在使用TexturePacker打包图片之后,背景图在场景切换(有切换动画)时,明显能看到有黑边,在百度之后解决了. 知乎上边有网友贴出了两种解决方法,我抄过来如下: 第一种: 修改 ccConfig ...
- php实现图片加密解密,支持加盐
一个简单的图片加解密函数 使用client跑,不要使用浏览器跑 qq845875470 ,技术交流 <?php /** * Created by hello. * User: qq 845875 ...
- cocos2d-x lua 使用http(下载图片, POST JSON)
cocos2d-x lua 使用http(下载图片, POST JSON) version: cocos2d-x 3.6 1.使用http post json与服务器交互 require(" ...
- c# 图片加密解密的实例代码
c# 图片加密解密的实例代码. 代码: using System; using System.Collections.Generic; using System.Text; using System. ...
- 基于混沌Logistic加密算法的图片加密与还原
摘要 一种基于混沌Logistic加密算法的图片加密与还原的方法,并利用Lena图和Baboon图来验证这种加密算法的加密效果.为了能够体现该算法在图片信息加密的效果,本文还采用了普通行列置乱加密算法 ...
- 大华摄像头报警接口中图片加密,python调用c++方式实现解密
项目中,大华摄像头的报警信息,里面有图片地址,需要1天内取下来,保持留痕 可惜,图片下载后,加密了,大华提供了android,ios,c++例子,没有提供java解密例子 没办法,只好先用c++例子简 ...
- cocos2d-x中描述精灵帧图片的plist和json文件各个key的含义
最近在研究cocos,互联网行业中,手游业最近的表现是非常的火,加上本身对游戏有浓厚兴趣,所以便染指了游戏引擎~ 这次的废话就这么简短吧,因为这次记录的东西本身就很少. 在cocos中,为精灵帧添加缓 ...
随机推荐
- html5代码,获取地理位置
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta htt ...
- STL 的运用 istringstream的运用
单词数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- ACM: HDU 3790 最短路径问题-Dijkstra算法
HDU 3790 最短路径问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Des ...
- jquery 动画效果插件
从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: ...
- SQL 学习笔记
1.判断数据库中某个值是否为null(而不是'null',空字符串'',若干个空格' ') 一定不能用=null 或 !=null,而要用is null 或 is not null. 2.在sqlse ...
- 友盟微博分享Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from: objc-class-ref in libWeiboSDK.a
一,分析过程 1.第一次看到这个问题,以为是缺少导入框架或缺少编译文件,导入了微博 sso 框架和编译文件后仍有问题. 2.上网搜了搜也就以上两方面的问题. 3.于是我又仔细看了一遍友盟的分享接口文档 ...
- 关于多条id相同,只取其中一条记录的sql语句
需要使用:分区函数用法(partition by 字段) select *,row_number() over(partition by item order by date ) as index ...
- 既然nodejs是单线程的,那么它怎么处理多请求高并发的?
单线程解决高并发的思路就是采用非阻塞,异步编程的思想.简单概括就是当遇到非常耗时的IO操作时,采用非阻塞的方式,继续执行后面的代码,并且进入事件循环,当IO操作完成时,程序会被通知IO操作已经完成.主 ...
- Sortable Observable Collection in C#
Sorting outside the collection protected override void OnNavigatedTo(NavigationEventArgs e) { if (Se ...
- CentOS6设置密码过期时间
#密码过期时间180天chage -M 180 rootchage -l rootchage -M 180 gwchage -l gw