quick-cocos2d-x

[05]Git查看、删除、重命名远程分支和tag

心不动则不痛 提交于 2021-02-14 22:55:49
Git查看、删除、重命名远程分支和tag 2015-06-15:加入姊妹篇; 2013-11-06:加入重命名远程分支的内容; 2013-01-09:加入删除远程tag的内容。 姊妹篇: 使用Git、Git GUI和TortoiseGit 引用:https://blog.zengrong.net/post/1746.html# 这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程分支的本地分支 重命名远程分支 把本地tag推送到远程 获取远程tag 查看远程分支 加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话): 1 2 3 4 5 6 7 8 9 10 $ git branch -a master remote tungway v1.52 * zrong remotes/origin/master remotes/origin/tungway remotes/origin/v1.52 remotes/origin/zrong 删除远程分支和tag 在Git v1.7.0 之后,可以使用这种语法删除远程分支: 1 $ git push origin --delete <branchName> 删除tag这么用: 1 git push origin --delete tag

quick-cocos2d-x数据存储之GameState

一个人想着一个人 提交于 2020-04-28 02:32:41
GameState是quick-cocos2d-x中特有的一个用户信息存储类,相对于CCUserDefault而言,它增加了数据校验的功能,当数据被人为的改变之后,会被检测出来,下面介绍它的主要用法。 一、初始化 因为GameState并没有在framework中加载,所以我们要在开始的代码中去加载,如在MyApp.lua的开头位置加载 GameState=require(cc.PACKAGE_NAME .. ".api.GameState") 二、提供的方法 1、 GameState.init (eventListener_, stateFilename_, secretKey_) 这个方法是初始化GameState,在场景初始化之前调用一次即可,如在MyApp.lua的MyApp:ctor()中调用。 eventListener_ 是载入或保存时调用的函数,可以写个匿名函数,后面会重点介绍; stateFilename_ 是保存的文件名,如果留空或非字符串(string)则是默认的state.txt,该文件会被保存到device.writablePath下; secretKey_ 是 校验文件时所用到的密钥,GameState保存的数据格式为{h = hash, s = s},s是我们要保存的数据(一个table),h则是要校验的一个md5码。如果secretKey

quick-cocos2d-x物理引擎之chipmunk(二)

 ̄綄美尐妖づ 提交于 2019-12-03 17:37:37
上一篇讲了quick-cocos2d-x使用chipmunk的使用流程,介绍了World,Body,Shape的建立,这一篇将讲解如何处理物体之间的碰撞。 一、监听事件 quick-cocos2d-x中的chipmunk碰撞处理是通过监听事件来实现的。 -- 设置物体的碰撞类别,默认所有物体都是类别0 Body:setCollisionType(type) -- handle是一个回调函数,碰撞处理将在这个函数中执行 -- collisionTypeA和collisionTypeB是两个int值,表示要监听的是哪两种物体 -- 这两个值在body中设置(上面所示的方法),两个值相同时为监听同种物体之间的碰撞 World:addCollisionScriptListener(handler, collisionTypeA, collisionTypeB) -- handler回调函数,这个函数一定要返回true,不然碰撞后两个物体将会重合,即像是不碰撞一样 -- eventType为碰撞的类别,有四种值: -- begin 开始碰撞 -- preSolve 持续碰撞(相交),可以设置相交时独自的摩擦,弹力等 -- postSolve 调用完preSolve后,做后期处理,比如计算破坏等等 -- separate 分开,当删除一个shape时也会调用 --

QuickXDev增强功能:Run With Player

旧时模样 提交于 2019-12-03 16:41:12
QuickXDev介绍地址: http://my.oschina.net/lonewolf/blog/173059 。 为了让大家更好的调试quick-cocos2d-x程序,今天为QuickXDev增加了一个比较有用的功能:在sublime中直接启动player来运行当前的程序,如下图: 用法如下: 一、在scripts目录(或其它的目录名称,但 里面要有main.lua文件 )右键->Run With Player即可运行。 二、执行的参数为: 1、 -workdir <path> ,path为scripts的上一层目录。 2、 -file scripts/main.lua 3、 -load-framework ,默认载入framework 。 三、其它参数从config.lua中取: 1、DEBUG变量 1)、 DEBUG=2 ,打印log,并把log输出到debug.log文件中 -write-debug-log -console 2)、 DEBUG=1 ,只打印log -disable-write-debug-log -console 3)、 DEBUG=0 ,不输出任何log -disable-write-debug-log -disable-console 2、 CONFIG_SCREEN_WIDTH 和 CONFIG_SCREEN_HEIGHT 变量

quick-cocos2d-x物理引擎之chipmunk(一)

半城伤御伤魂 提交于 2019-12-02 09:45:56
chipmunk是一个用C写成的物理引擎,quick-cocos2d-x已经用C++对其进行封装,导出到lua的类有: CCPhysicsWorld CCPhysicsBody CCPhysicsShape CCPhysicsDebugNode CCPhysicsCollisionEvent CCPhysicsVector 可以看出,quick-cocos2d-x没有对joint(连接)进行封装 ,下面将就如何在quick-cocos2d-x中使用chipmunk作详细的介绍。 一、简介 1、 World,Body,Shape 可用下图说明其关系 可以看出,World由Body组成,而Body又由Shape组成。就像我们所处的世界一样,世界由房屋,树木等等构成,而房屋由门窗,墙壁等组成,树木由叶子,树干,树枝等组成。 2、 CCPhysicsDebugNode 是用于显示各个物体的边框等等信息,主要用于调试。 3、 CCPhysicsCollisionEvent 是物体之间发生碰撞时产生的事件,事件中携带有碰撞时的信息。 4、 CCPhysicsVector 则是向量,物体受力时将会用到。 二、使用流程 1、 建立World 我们要使用chipmunk,首选要建立一个世界( CCPhysicsWorld ) -- 建立没有引力的世界 CCPhysicsWorld:create()

quick-cocos2d-x开发工具sublime text及其强力插件QuickXDev

旧城冷巷雨未停 提交于 2019-12-02 09:06:31
更新:现在QuickXDev已经可以通过Package Control下载了,所有QuickXDev相关的请看这里: http://my.oschina.net/lonewolf/blog?catalog=412647 sublime text是一个小巧,强大,界面漂亮的代码编辑器,目前正式版本为2,开发版为3。下载地址: http://www.sublimetext.com/ 。sublime text的很多功能都是依赖于其强大的插件系统。sublime text支持lua语言,但大部分功能都没有,如代码提示等等。 下面介绍sublime text开发quick-cocos2d-x的强力插件 QuickXDev (系本人开发)。 一、下载安装。 下载地址: https://github.com/leitwolf/QuickXDev ,下载之后解压, 并重命名为 QuickXDev ,之后把该文件夹放入到sublime text的Packages目录下(Preferences->Browse Packages)。 二、设置。 设置中有 “quick_cocos2dx_root” 和 新建lua文件模板的一些参数,必须要设置“quick_cocos2dx_root”,方法为Preferences->Package Settings->QuickXDev->Settings –

quick-cocos2d-x源文件编译及加密详解

天大地大妈咪最大 提交于 2019-12-02 04:20:29
quick-cocos2d-x是用lua脚本来写的,而lua是明文形式,如果不对脚本进行处理,那么我们所写的代码将可能暴露给别人(apk和ipa都是简单的zip包装)。 quick-cocos2d-x框架为我们提供了一个可编译和加密代码的工具compile_scripts.sh( 目前只提供了mac版 ),它位于quick-cocos2d-x/bin/ compile_scripts.sh 。下面将对其进行详细的介绍。 一、安装luajit lua脚本的编译是通过luajit来执行的,如果你之前没有安装过luajit的话,运行compile_scripts.sh会出现下面的提示: 下面将介绍如何安装luajit。 1、运行<path>/quick-cocos2d-x/bin/install_luajit.sh , <path>为你具体的路径 ,请自行替换 。 这个时候会执行luajit的构建操作。 2、完成构建之后将进行安装,安装之前会叫你输入系统账户密码,如下图: 3、之后就是安装过程了,完成之后会出现下图这样的界面: 恭喜你完成了第一步。 二、示例 我们先来运行一个示例吧。这个将帮助你了解编译的过程。 我们做的很简单,就是把代码编译成一个zip包,并把它放置到res目录下(framework_precompiled.zip也在此目录)。 1、 在bash下

quick-cocos2d-x平台Lua源码打包后运行出错的一种情况

安稳与你 提交于 2019-12-02 04:20:19
quick-cocos2d-x平台的Lua源码打包及加密功能是其提供的方便功能之一(具体可参考lonewolf的 这篇文章 )。今天Quick-x群里的一位朋友在使用时遇到了点问题,经过我们的探讨找到了原因。虽然是个小问题,不过还是顺手记录一下,以便今后自己和大家查询。 这位朋友在app/scenes/MyScene.lua文件里使用了以下语句调用另一个模块: local SocketTCP = require("app.Utitls.SocketTCP") 所调用的模块文件SocketTcp.lua放在app/Utitls目录下,在player下面直接调试脚本文件时运行一切正常。但将Lua脚本文件打包后,运行时就出现错误提示: LUA ERROR: [string "app.scenes.MyScene"]:0: module 'app.Utitls.SocketTCP' not found: no field package.preload['app.Utitls.SocketTCP'] no file '.\app\Utitls\SocketTCP.lua' no file 'G:\stuffs\tsett\proj.win32\aa\lua\app\Utitls\SocketTCP.lua' ......(后面还有一大堆路径查找提示) 开始怀疑是运行时没有加载上源码包

quick-cocos2d-x基于源码加密打包功能的更新策略(3)

一笑奈何 提交于 2019-12-02 04:20:06
前篇: quick-cocos2d-x基于源码加密打包功能的更新策略(1) quick-cocos2d-x基于源码加密打包功能的更新策略(2) 三、更新流程说明及特性分析 A.更新流程 加载初始安装包,载入旧资源列表 取最新资源列表文件,载入新资源列表 比较两个资源列表版本,如果一致,跳到第8步;以下流程中如果有误也跳到第8步 根据新资源列表检查现有文件,逐一下载新增或者有变化的文件,并加.upd后缀保存 每个下载的文件在保存后马上进行一次校验 所有文件下载完成,更新本地资源列表文件,用新列表替换旧列表 将下载的文件去掉.upd后缀,覆盖旧的文件 根据资源列表再校验一遍资源文件 第8步正确,则按资源列表的指示载入相关资源,启动程序(新版本) 第8步有错,说明资源列表与资源文件不匹配,删除本地资源列表文件(保证下次启动时重新更新资源),启动程序(原始安装版本) B.安全性 可以看出在第6步之前,即使出错,也不会破坏原来的文件。跳到第8步后,一般能够以上一个更新成功的版本启动,除非上一个版本被用户破坏。 第6步和第7步出错,会造成资源列表与资源文件不匹配,跳到第8步后,肯定只有从原始版本启动了。 第8步错误,有可能是因为前面出错,也有可能是用户自己破坏了本地文件。无论如何,还是能从原始版本启动,并保证下次进入能再次更新。 第8步正确,并不一定说明这次更新是成功的

quick-cocos2d-x基于源码加密打包功能的更新策略(1)

≯℡__Kan透↙ 提交于 2019-11-30 23:31:49
Quick-cocos2d-x 增加了 编译及加密源代码 的功能(具体可参考 这篇文章 )。以此功能为基础,我实现了一个 版本更新 模块,解决了自己项目中的版本更新需求。现抛砖引玉,与大家分享。 从基本原理和方案讲起比较枯燥,直接从介绍具体 用法开始吧。 要能够在线更新文件,一个服务器是必须的。我目前实现的是用HTTP协议取文件,只需要有一个基本的web服务器,能通过类似http://<server>/<filename>的链接取到文件即可。当然,如果需要根据平台和版本进行文件的分发,服务器端还需要进行相应配置。 要调试下面的例子,自己在内网甚至就在本机上搭建一个最简单的web服务器就可以了。 一、基本更新功能 1.创建一个可以自动更新的程序 首先准备好我们的quick-x工程。作为例子,我们直接使用create_project来创建一个新工程helloworld来使用。这一步不用我多说。 接下来,请到 这里 下载我写的更新模块。只需要根目录下的update.lua文件即可,其他的目录下只是我的一些例子和工具。 (2014.5.30加注:quick-x的2.2.3版本里的sample/2048使用了这一更新模块,可以使用例子中的update.lua文件) 将update.lua文件加到helloworld工程的scripts目录下。修改文件中“local server =