- 博客(119)
- 资源 (37)
- 收藏
- 关注
原创 交错字符串(动态规划)- leetcode 97
给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例 2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false向右走就是s2的这位去匹配s3的当前位,向下
2018-07-03 09:47:30 1154
原创 lua高级用法(1)之C语言userdata
lua用的人很多,但是能理解userdata的可能并不多,或者很少使用这种对象。创建userdata的函数是lua_newuserdata,这个函数会创建一个userdata内存块,内部会在lua虚拟机中创建一个lua对象,并将该对象压栈。通常来说,创建一个userdata后我们需要为该对象设置一个metatable以为该对象绑定方法,最简单的做法例如:httpd_t * h = lua_newu...
2018-03-26 23:55:19 1990
原创 C/C++关于void*存储int变量的问题
在C/C++中,有时候会遇到将int值存储在void*这种类型中,比如在一个通用实现的链表节点中,数据区data是void*,而我们只需要存储int时,该如何处理最简单呢?一般来说,void*是一个指针,它指向一块内存地址,对于32位机器void*是32位的,对于64位机器,void*是64位大小的,那么如何将int存储到void*中呢。我们再来思考一下,void*指向一块内存地址,假设定义如下变...
2018-03-22 21:28:25 3965
原创 Cocos2d-JS屏幕适配(NO-BORDER模式)
距离上一篇博客已经有将近一年时间,没有写什么一个是因为一直太忙,另外一个也是不知道要写什么,还是做游戏项目,不过从手游转到了Html5游戏,继续使用Cocos2d,语言换成了JS。 不多叙旧,这次简单说下Cocos2d-JS的适配问题,上一个项目(手机QQ空间玩吧的《点点萌萌消》,欢迎试玩^_^)没有考虑分辨率适配问题,直接采用的是640*960的方式进行开发,基本上不用考虑适
2015-03-19 20:54:07 5733 2
原创 lua调试器与编辑器开源项目luacode(源自decoda)
目前项目开发一直是用decoda进行调试,使用sublime编辑,本没有太大问题,都用了大半年。一直都比较忙,这段时间有空在decoda的源码基础上进行修改,就是想将调试器与编辑器融合起来,改成我期望中的理想的lua开发工具。国人写了一个luastudio,共享软件,之前试用过,很糟糕,还不如用decoda(至少能保证稳定性)。luacode主要用于解决lua调试与编辑两大问题,统一lua项目开发...
2014-05-28 15:50:16 18228 11
原创 梅森旋转随机算法
梅森旋转随机算法,C++和Java代码。C++:#ifndef _MersenneTwister_H_#define _MersenneTwister_H_#include #include #include typedef int32_t MS_INT;class MersenneTwister{public: void rseed(MS_INT seed){
2014-01-27 20:10:31 10215
原创 cocos2d-x之字体描边效果shader实现
#ifdef GL_ESprecision highp float;#endif uniform sampler2D u_texture;varying vec2 v_texCoord;varying vec4 v_fragmentColor;//模糊blur的步长,这里只是demo,正式使用由外部传入(uniform类型)const vec2 step = vec2(0.00...
2014-01-19 00:31:59 9731 2
原创 游戏资源管理之zpack开源项目
zpack项目http://multi-crash.com/?page_id=340比较小众的一个开源项目,作者看起来经验算比较丰富的了~小弟正好可以偷懒在此基础上做进一步的开发,主要是加强加密、压缩等方面的不足。标记ing。。。
2013-08-07 21:53:37 3668 3
原创 Lua正则表达式(精简而不失大师风范)
正则表达式作为一种通用的算式,大量用于文本处理逻辑中,其主要好处是速度能够达到极致,而且代码量通常会非常少,本篇主要介绍lua中的正则使用,由于这样的文章网上随处都可以搜到,而且不乏整理的不错的,这里就不想再重新做这件事情。正则表达式主要处理匹配问题,即通过给定语义通配符串,返回匹配成功的字符串列表。 在匹配的基础上,正则引擎往往提供了字符串的查找、替换、分割等功能,lua支持查找与替换,但不支持...
2013-06-27 06:10:54 22417
原创 cocos2d-x之CCGUI设计与实现(5)树形控件的实现
树形控件是GUI系统中较为复杂的一种控件,用途非常广泛,本篇不对该控件作详细描述,仅针对游戏中应用的树形作一个分析,cocos2d-x本身不对该控件提供任何支持,这里也不可能写一个类似于操作系统层面的复杂控件。 控件需求:(1)支持折叠,点击父节点,子节点可以折叠或展开(2)支持滑动,树形控件的背景层是一个scroll view,根据树形控件的大小自动调整大小。当然,基础组件还
2013-05-10 12:27:12 4609 4
原创 cocos2d-x之CCGUI设计与实现(4)分页列表框的实现(仿IOS图标分页列表)
本篇主要介绍IOS应用图标桌面的分页效果设计,这种控件主要用于RPG等游戏的背包部分,算是很常用的了。分页列表框暂且命名为GridBox,继承自ScrollView,拥有滚动属性和分页属性,这里简单讨论后者的实现思路。cocos2d-x扩展提供的CCScrollView支持滑动,滑动的具体实现是这样的:(1) touch begin时初始化滑动的距离为0;(2) touch m
2013-05-10 12:25:05 4401
原创 cocos2d-x之CCGUI设计与实现(3)循环列表框的实现(数字选择器)
真心不好意思,为了防止CSDN把我的彩色“恒”弄成灰白的,每月预先会标记几篇博客充数哈哈。不自恋了,这篇说说循环列表框的实现思路。我们知道,cocos2d-x扩展里面提供了一个CCScrollView的实现,这东西写的还不错,大致模拟了系统的那种滑动效果,并有裁剪的效果。对于数字选择器(NumberPicker)控件,我们首先需要在CCSrollView的基础上实现一个列表框(ListBo
2013-05-10 12:23:51 3658 2
原创 cocos2d-x之CCGUI设计与实现(2)RichTextBox的实现(支持多颜色、表情、超链接)
Cocos2d-x提供了基本CCLabelTTF用于文本的绘制,文本底层的实现流程是这样的,字符串string先用本地API转化成CCImage,这一步依赖平台接口,然后再由CCImage转化成CCTexture2D纹理,进而用于文本的渲染。 那么如何通过CCLabelTTF等字体类实现一个RichTextBox,支持多颜色、换行、表情(图片)、超链接呢?
2013-05-10 12:23:00 6379 6
原创 cocos2d-x之CCGUI设计与实现(1)序言
cocos2d-x使用有半年多时间,想来去年这时候还在写游戏服务器程序,不得不感慨变化很大。这半年时间对2d游戏客户端开发也越来越熟悉,视野也变得更加开阔,就拿游戏的UI开发来说,最早学习cocos2d-x的时候,是在代码里面写UI,后来写了一个简单的UI编辑器,用在一个音乐游戏中,效果还可以;再后来接触cocosbuilder,效率就更高了。然而,过几天去新公司,项目是做一个ARPG游戏
2013-04-22 21:54:32 6921 14
原创 CCScrollView注意事项
1设置view size和content size有先后顺序,否则有计算错误!m_scrollView->setViewSize(getContentSize());m_scrollView->setContentSize(canvas->getContentSize());m_scrollView->setClippingToBounds(true);
2013-04-20 10:23:17 3053
原创 vs2008代码转xcode中文乱码问题解决脚本
for i in `find . -name "*.h" -or -name "*.cpp"`; doiconv -f "gbk" -t "utf-8" $i"tmp"mv $i"tmp" $idoneecho "done!"
2013-04-08 11:21:59 2120
原创 在C++中使用TinyXML2解析xml
tinyxm2变了很多,文档又少,坑爹#include "template.h"#define cp(str) !strcmp(str, argv[i])void make(AnimationInfo & info){ // insert code here... int error = doc.LoadFile( "Animation.ccb"); i
2013-03-27 09:57:17 11560 2
原创 非常酷的IOS类库组件,强烈推荐!!
网址:http://www.charcoaldesign.co.uk/source/cocoa#fxlabel简介:最酷莫过于iRate(用于评分提示),iVersion(版本提示),支持多语言!发两张图:
2013-03-20 17:43:45 1120
原创 cocos2d-x之SIGPIPE异常详细解决方案
SIGPIPE异常会触发中断,通常注册中断函数即可,代码如下:struct sigaction sa;struct sigaction osa;sa.sa_handler = custom_handle;sigaction(SIGPIPE, &sa, &osa);但是这只解决了一部分问题,还有一个一个比较烦人的问题是xcode会在SIGPIPE触发时产生一个DEBUG中断,解决办法是添加一
2013-03-12 11:51:41 2345
原创 cocos2d-x之新浪微博平台接入接口
简介本文档主要介绍接入新浪平台的一些内容,便于查阅和使用。第一步:认证准备新浪微博的SDK放在github上面,下载地址:https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth,也可直接在控制台中输入gitclonehttps://github.com/mobileresearch/weibo_ios_sdk_sso-oa
2013-02-22 16:02:38 7006 5
原创 cocos2d-x之Facebook平台接入接口
简介: 本文档主要阐述游戏中接入Facebook平台的相关内容,使得接入过程尽可能详尽而简单。 第一步:认证(Authenticate)Facebook SDK中较为核心的一个类是FBSession,该类主要用于用户验证、管理用户登陆流程。 在写代码之前,首先需要加入Facebook SDK,在官网下载SDK后,将FacebookSDK.framework加入到工程...
2013-02-21 17:57:02 14043 6
原创 C语言宏的妙用
第一部分:基础知识记住:#define的本质是替换利器:使用"#"和"##"#的作用把宏参数变为一个字符串##的作用把连接其两边的字符形成一个新的参数#define str(s) #s#define cons(a,b) int(a##e##b)int main(){ printf(str(vck)); // 输出字
2013-02-05 16:36:43 1565
转载 在OS X下,sem_init失败
在开发Iphone上的项目时,原本运行的好好的程序,移植到Iphone上就死锁了,最后发现是创建信号量失败。sem_init返回-1原因是:OS X不支持创建无名的信号量,只能使用sem_open创建有名的信号量。" declares sem_init so that it compiles properly on OS X, but it returns -1 w
2013-01-23 14:55:26 4578
原创 cocos2d-x之内存优化问题
1 在创建CCNode,CCAction对象后,必须将node对象加入到场景中,action必须得到运行,简单点说就是不要产生无用的对象。2 CCArray * actions = CCArray::create();3 new创建的对象需要用delete删除
2013-01-16 15:52:34 1383
原创 cocos2d-x关于CC_ASSERT断言BUG!
程序在debug模式下正常运行,而在release模式下却发生莫名的异常,异常非常诡异,弄的我甚至怀疑cocos2d-x的源代码。晚上在公司比较闲,正好可以慢慢进行排查,最后发现在我自定义的action中出现问题。这个action负责GLSL特效部分,部分代码如下:void JEffectAction::startWithTarget(CCNode *pTarget){ CC
2013-01-15 20:48:57 5491 1
原创 linux shell常用命令收藏
cd - 回到之前的目录mkdir -p 如果父目录不存在,则自动创建Ctrl系Ctrl + a - 光标跳转到命令的开头(当命令敲完了,结果发现开头敲错了的时候用)Ctrl + e - 光标跳转到命令结尾Ctrl + b - 光标往左移动一个字符Ctrl + f - 光标往右移动一个字符Ctrl + x + x - 光标移动到最后和当前位置两个地方跳转Ct
2012-12-27 11:03:44 697
原创 关于xcode编译事件shell脚本问题
vs里面许多时候需要用到编译事件脚本,能够极大提高工作效率。xcode里面也有,只不过这次更加灵活。build phases里面可以拖动phase执行的顺序,这样可以控制脚本的执行时间。苹果的东西有时候设计的确实蛋疼,无意中才能发现新的功能,浪费时间。
2012-12-27 09:50:19 5490
原创 svn控制台全操作
一直郁闷mac上面没有乌龟svn客户端,后来在虚拟机里面装了一个,但是很不好用,各种问题╮(╯▽╰)╭没办法,只好使用最原始的svn控制台操作了,这里简要整理下常用操作。1添加操作svn add 2提交操作svn ci -m "msg" 3删除操作svn rm4撤销操作svn revert5查看操作svn st基本操作就这些,现在来看
2012-12-25 17:48:15 4152
原创 mac批量缩放png文件
游戏目前是ipad版本,现在需要做成iphone的,图片资源批量缩小就可以了,缩小参数0.41666666666667。首先确保机器安装了brew然后执行如下命令安装imagemagicksudo brew install imagemagick通过如下命令即可完成缩放convert -resize 50%x50% xx.png small-xx.png
2012-12-25 13:50:44 1717
原创 AVAudioPlayer后台暂停bug
问题描述:游戏中暂停后,调用AVAudioPlayer的pause方法,发现返回游戏后音乐还在播放。问题解决:参考http://stackoverflow.com/questions/6403261/avaudioplayer-keeps-playing-after-multitasking附:I have spent hours today with precis
2012-11-21 09:48:27 2721
原创 cocos2d-x常用IOS模块
1 显示对话框UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"" message: @"请求失败!" delegate: nil
2012-11-17 16:03:50 1142
原创 spriter动画编辑器的cocos2d-x接口修正强化
目前我的cocos2d-x编辑器的动画部分接口采用的是spriter动画编辑器提供的接口,spriter动画编辑器虽然简陋,但一般的需求基本上能够满足。可以在http://www.brashmonkey.com/spriter.htm下载,另外cocos2d-x的接口可以在论坛http://www.brashmonkey.com/forum/viewtopic.php?f=3&t=870下载。
2012-11-08 16:52:58 7610 7
原创 cocos2d-x文本动态显示实现代码
头文件:#include using namespace std;#include "cocos2d.h"using namespace cocos2d;class DynamicText:public CCNode{private: CC_SYNTHESIZE(CCLabelTTF *, ttf, Ttf); CC_SYNTHESIZE(string, text,
2012-11-07 15:58:04 3995 1
原创 cocos2d-x庖丁解牛(1):CCParallaxNode源码分析
/** CCPointObject用于记录CCParallaxNode孩子节点的ratio和offset属性 **/class CCPointObject : CCObject{ //视差速率 CC_SYNTHESIZE(CCPoint, m_tRatio, Ratio) //在CCParallaxNode中的偏移量 CC_SYNTHESIZE(CCPoin
2012-11-07 13:42:21 3426
原创 IOS细节之付费接口In-App Purchases开发问题
In-App Purchases开发参考http://www.raywenderlich.com/2797/introduction-to-in-app-purchases即可,那个demo看明白基本就没啥问题了。然而我在使用该demo测试时发现app服务器一直没数据返回,怎么折腾都没用(被折磨了2天)。后来无意中采用模拟器进行调试,尼玛有数据了!然而这种问题网上不好找原因,╮(╯▽╰
2012-10-31 18:08:40 1875
翻译 Spriter a4 更新
Sorry we're late!Well, added the bulk of remaining time-consuming features in this build, and also made great strides towards full stability. Without further ado:Spriter a4 Changelog!misc:
2012-10-30 17:50:06 923
原创 IOS细节之虚拟键盘隐藏事件添加与删除bug
bug描述:腾讯微博分享的网页在ipad上显示比较蛋疼,最后直接写死WebView的scroll的offset和页面是否滚动属性搞定。然而写死后遇到虚拟键盘问题,虚拟键盘弹出来的时候会自动更改WebView的offset属性,此时玩家不能拖动页面,又SB了。于是又加上了一个虚拟键盘消失回调,代码如下: //键盘消失事件 [[NSNotificationCenter
2012-10-30 16:10:56 1907
RFC中文文档大全
2017-01-12
FTGL和freetype2.37整合版本
2010-12-18
OpenGL 俄罗斯方块(Tetris)
2010-06-19
文件同步实时备份(VC++6.0)
2010-04-17
哈夫曼编码(综合设计)
2009-09-21
Python3.1嵌入C++ debug文件python31_d.lib
2009-09-02
appface 皮肤功能 MFC专用
2009-06-26
长期坐在电脑前面的同学专用CLOCK
2009-05-17
WinPcap4.02完整包(驱动、dll、库、头文件)
2009-03-29
QQ模拟初阶--基于MFC
2009-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人