热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Ant一步一步压缩混淆Cocos2d-html5游戏

用Cocos2d-html5开发游戏完成之后,下一步就是将文件打包然后发布了.下面将会一步一步的讲解如何进行打包.在进行打包操作前,我们必须要搭建好环境,如标题所示,我们是使用Ant进行打包的.A
Cocos2d-html5开发游戏完成之后,下一步就是将文件打包然后发布了. 下面将会一步一步的讲解如何进行打包. 在进行打包操作前,我们必须要搭建好环境,如标题所示,我们是使用Ant进行打包的. Ant是什么?大家可以去google一下. 要将ant首先需要安装jre ,就是Java运行环境或者说Java虚拟机.大家可以到http://www.java.com/zh_CN/去下载 现在最新的版本是Version 7 Update 5, 根据提示一步一步的进行安装,有不清楚的可以google一下. 安装好之后,你可以在命令行下输入:java –version 看到下面类似的信息就说明你已经安装好了: 下一步是安装Ant, 大家可以到http://ant.apache.org/bindownload.cgi去下载最新的Ant. Ant是一个工具,不需要进行安装,只要把文件解压出来,然后将文件夹路径加入到环境变量的Path变量中就可以了.如下图所示: 找到Path变量点击”编辑”,
然后在后面加入antbin目录所在位置: 这样就设置好了.可以打开命令行看一下是否装好了,输入:ant –version 应该会看到类似的信息. 如果在安装上遇到什么问题,你可以在网上找一找相关教程.我这里就不作太多的讲解了. 我们还需要google compiler工具包,大家可以到下面的地址去下载: http://closure-compiler.googlecode.com/files/compiler-latest.zip 不过,cocos2d-html5引擎包已经将该文件包含进了压缩包里.你可以到tools/compiler文件夹下找到.你需要记住这个文件的目录,因为在后面的步骤中需要用到该路径. 工具已经安装设置好了,那么就让我们回归正题. Cocos2d-HTML5一般的发布方式分为两种: 一、 将游戏逻辑代码与游戏引擎分开打包. 这种情况适合于不需要对游戏代码进行混淆的需求, 只需要将分散的游戏逻辑文件打包进一个文件,以便于浏览器下载. 这种情况下,你只要新建一个build.xml,将你要打包的文件加入列表,然后执行ant操作就可以能完成操作了.详细步骤如下:
1. 生成build.xml文件 大家可以用一个现成的build.xml文件进行修改来完成配制操作,这样可以省事很多,Cocos2d-HTML5开发组已经为我们准备好了相应的模板,你可以在tests目录下找到该文件.该文件是cocos2d-html5准备的打包模板,同时也使用文件对测试例进行打包.文件内容比较大,我们慢慢来看.


  1.    
  2.              classpath="${basedir}/../tools/compiler/compiler.jar"/>
这一部分用于定义一些环境变量,如basedir="." 定义basedir为当前目录,也就是build.xml所在目录. default="compile_test" 用于指定ant在不指定执行任务时所执行的默认任务. Taskdef这一段是定义google compiler的设置.其他的不用修改,只需要修改classpath="${basedir}/../tools/compiler/compiler.jar"就可以了,前面已经让大家记录了一下google compiler的路径,现在就要派上用场.我们这里是使用相对路径,如果你的目录结构与上面一样,那么就不需要修改,如果修改了,你就需要修改一下,让ant能找得到compiler.jar这个文件就可以了. 如果路径设置不对就会出现下面的提示信息: (也有可能是java jar 和jdk 不是最新版本的问题,mac 安装jdk 升级到1.7以上版本。。) 接下来看下面的内容:

  1.         
  2.                 debug="false" output="cocos2d-html5-testcases.js">
  3.             
  4.                
  5.                
  6.                
  7.                
  8.                
  定义了任务目标名称.前面的default指定的就是这个. output="cocos2d-html5-testcases.js">用于指定打包后的文件放到哪里,取什么文件名.用于定义js文件目录,可以指定当前目录或其他目录. 用于指定要打包的文件,可以在文件中加入子目录名称等. 剩下的事就是将需要打包的文件都加入到file列表中了.
2. 使用ant生成打包后的文件 编辑好build.xml之后,就是用命令行通过ant工具进行打包操作了. 首先将命令行目录切换到build.xml所在目录 然后执行ant,就可以了.由于我们的默认任务是compile_test就是我们现在想要执行的任务,所以只需Ant就行了.执行顺利的话会看到下面类似的画面: 那么,文件就打包好了.
3. 修改加载文件 打包好了之后,我们就不再需要加载那么多文件了.需要加载引擎文件和游戏逻辑文件就可以了.找到cocos2d.js,进行类型的修改: cc.loadjs('lib/Cocos2d-html5-canvasmenu-min.js'); cc.loadjs('tests/cocos2d-html5-testcases.js'); 这样就将原来的多个文件改成只加载两个文件了. 操作完成!

二、 将游戏逻辑代码与游戏引擎合并打包到一个文件中 这种打包文件会将引擎代码与游戏代码一起打包,为什么不能用高级模式单独打包游戏代码逻辑呢?高级模式下会混淆所有的函数名称,如果只用高级模式打包游戏逻辑,所以游戏逻辑中的引擎相关的类名和函数名都会被混淆,这样就会出现找不到类名的情况. 具体步骤如下:
1. 配置build.xml文件 前面已经讲了一些信息,我们这里讲不同的地方以及需要注意的地方

  1.         
  2.                 debug="false" output="cocos2d-html5-testcases-advanced.js">
  3.             
  4.                
  5.             
用了一个不同的名称: compile_test_advanced,用于与simple模式相区别. 然后模式设置为advanced. compilatiOnLevel="advanced" 需要注意的是:

  1.                         
  2.                     
这里用于定义需要排除的关键字,由于引擎需要在混淆时将某些关键字排除在外,特别引入了该文件,在引擎中已经包含了该文件,你只需要引用到正确的路径就可以了. 然后就是引擎的文件列表,还有就是你的游戏文件.在现成的build.xml文件中,前面已经设置好了引擎的文件,你只需要将后面的tests文件修改成你要打包的游戏逻辑文件就可以了.
2. 修改cocos2d.js文件 将所有文件打包进一个文件里之后,也就不需要再分文件加载了,所以需要修改cocos2d.js文件.cocos2d-html5开发组也已准备好了该文件,叫做cocos2d_single.js你可以看一下该文件,也可以直接复制该文件到你的游戏目录下.记得在build.xml文件列表最下面加入该文件就可以了.因为该文件为游戏代码的入口,所以一定要加.
3. 执行ant操作 下面就可以进行ant打包操作了.这时,我们不能只输入ant命令了,还要加一个参数,将高级模式的任务名称加进去.如: ant compile_test_advanced 这时就会出现下面类似的信息: 这样就打包好了高级模式下的游戏文件了.
4. 修改html文件引用 下面修改一下html文件的引用就完成打包操作了.如下:


推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
author-avatar
1輩孓莣8鋽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有