C/C++/汇编
文章平均质量分 83
小晏
这个作者很懒,什么都没留下…
展开
-
交错字符串(动态规划)- 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 · 1127 阅读 · 0 评论 -
非常酷的IOS类库组件,强烈推荐!!
网址:http://www.charcoaldesign.co.uk/source/cocoa#fxlabel简介:最酷莫过于iRate(用于评分提示),iVersion(版本提示),支持多语言!发两张图:原创 2013-03-20 17:43:45 · 1110 阅读 · 0 评论 -
lua开发之禁止使用未定义成员
输出:额。。写错了,因为要传图,麻烦,看懂就行了,别问我要代码原创 2013-03-29 16:25:30 · 2081 阅读 · 2 评论 -
在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 · 11546 阅读 · 2 评论 -
晒一下我的lua开发vim配置
折腾了一晚上,总算小有成绩,晒晒,哈哈!支持ctags自动补全,支持:和.的高亮原创 2013-03-28 22:44:05 · 7358 阅读 · 5 评论 -
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 · 2339 阅读 · 0 评论 -
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 · 6993 阅读 · 5 评论 -
cocos2d-x之Facebook平台接入接口
简介: 本文档主要阐述游戏中接入Facebook平台的相关内容,使得接入过程尽可能详尽而简单。 第一步:认证(Authenticate)Facebook SDK中较为核心的一个类是FBSession,该类主要用于用户验证、管理用户登陆流程。 在写代码之前,首先需要加入Facebook SDK,在官网下载SDK后,将FacebookSDK.framework加入到工程...原创 2013-02-21 17:57:02 · 14012 阅读 · 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 · 1548 阅读 · 0 评论 -
cocos2d-x关于CC_ASSERT断言BUG!
程序在debug模式下正常运行,而在release模式下却发生莫名的异常,异常非常诡异,弄的我甚至怀疑cocos2d-x的源代码。晚上在公司比较闲,正好可以慢慢进行排查,最后发现在我自定义的action中出现问题。这个action负责GLSL特效部分,部分代码如下:void JEffectAction::startWithTarget(CCNode *pTarget){ CC原创 2013-01-15 20:48:57 · 5481 阅读 · 1 评论 -
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 · 7597 阅读 · 7 评论 -
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 · 3415 阅读 · 0 评论 -
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 · 3977 阅读 · 1 评论 -
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 · 1858 阅读 · 0 评论 -
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 · 2114 阅读 · 0 评论 -
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 · 1964 阅读 · 0 评论 -
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 · 3944 阅读 · 0 评论 -
lua调试器与编辑器开源项目luacode(源自decoda)
目前项目开发一直是用decoda进行调试,使用sublime编辑,本没有太大问题,都用了大半年。一直都比较忙,这段时间有空在decoda的源码基础上进行修改,就是想将调试器与编辑器融合起来,改成我期望中的理想的lua开发工具。国人写了一个luastudio,共享软件,之前试用过,很糟糕,还不如用decoda(至少能保证稳定性)。luacode主要用于解决lua调试与编辑两大问题,统一lua项目开发...原创 2014-05-28 15:50:16 · 18197 阅读 · 11 评论 -
cocos2d-x之CCGUI设计与实现(5)树形控件的实现
树形控件是GUI系统中较为复杂的一种控件,用途非常广泛,本篇不对该控件作详细描述,仅针对游戏中应用的树形作一个分析,cocos2d-x本身不对该控件提供任何支持,这里也不可能写一个类似于操作系统层面的复杂控件。 控件需求:(1)支持折叠,点击父节点,子节点可以折叠或展开(2)支持滑动,树形控件的背景层是一个scroll view,根据树形控件的大小自动调整大小。当然,基础组件还原创 2013-05-10 12:27:12 · 4585 阅读 · 4 评论 -
cocos2d-x之CCGUI设计与实现(3)循环列表框的实现(数字选择器)
真心不好意思,为了防止CSDN把我的彩色“恒”弄成灰白的,每月预先会标记几篇博客充数哈哈。不自恋了,这篇说说循环列表框的实现思路。我们知道,cocos2d-x扩展里面提供了一个CCScrollView的实现,这东西写的还不错,大致模拟了系统的那种滑动效果,并有裁剪的效果。对于数字选择器(NumberPicker)控件,我们首先需要在CCSrollView的基础上实现一个列表框(ListBo原创 2013-05-10 12:23:51 · 3645 阅读 · 2 评论 -
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 · 4390 阅读 · 0 评论 -
cocos2d-x之CCGUI设计与实现(2)RichTextBox的实现(支持多颜色、表情、超链接)
Cocos2d-x提供了基本CCLabelTTF用于文本的绘制,文本底层的实现流程是这样的,字符串string先用本地API转化成CCImage,这一步依赖平台接口,然后再由CCImage转化成CCTexture2D纹理,进而用于文本的渲染。 那么如何通过CCLabelTTF等字体类实现一个RichTextBox,支持多颜色、换行、表情(图片)、超链接呢?原创 2013-05-10 12:23:00 · 6365 阅读 · 6 评论 -
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 · 3042 阅读 · 0 评论 -
cocos2d-x之CCGUI设计与实现(1)序言
cocos2d-x使用有半年多时间,想来去年这时候还在写游戏服务器程序,不得不感慨变化很大。这半年时间对2d游戏客户端开发也越来越熟悉,视野也变得更加开阔,就拿游戏的UI开发来说,最早学习cocos2d-x的时候,是在代码里面写UI,后来写了一个简单的UI编辑器,用在一个音乐游戏中,效果还可以;再后来接触cocosbuilder,效率就更高了。然而,过几天去新公司,项目是做一个ARPG游戏原创 2013-04-22 21:54:32 · 6902 阅读 · 14 评论 -
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 · 912 阅读 · 0 评论 -
IOS细节之虚拟键盘隐藏事件添加与删除bug
bug描述:腾讯微博分享的网页在ipad上显示比较蛋疼,最后直接写死WebView的scroll的offset和页面是否滚动属性搞定。然而写死后遇到虚拟键盘问题,虚拟键盘弹出来的时候会自动更改WebView的offset属性,此时玩家不能拖动页面,又SB了。于是又加上了一个虚拟键盘消失回调,代码如下: //键盘消失事件 [[NSNotificationCenter原创 2012-10-30 16:10:56 · 1898 阅读 · 0 评论 -
OpenGL中文字体类
.h:class GL_Chinese_Font {private: unsigned int m_listBase; const char * m_string; HDC & m_hDC;public: void ClearFont(); void glPrint(const char* str,char *fontName="arial", int font原创 2009-05-07 22:59:00 · 2387 阅读 · 2 评论 -
vector中insert()的用法详解
iterator insert( iterator loc, const TYPE &val ); void insert( iterator loc, size_type num, const TYPE &val ); void insert( iterator loc, input_iterator start, input_iterator end ); insert()...原创 2009-03-27 23:23:00 · 92152 阅读 · 0 评论 -
QQ模拟---暂时结束
好久没写博客了...本想写个QQ模拟的东西来总结以前所学的所有基本东西---C++基础、网络、线程、数据库...可是...最基本的东西算是出来了,包括登录、创建好友列表、聊天对话框...一个服务器负责中转数据。但是我很不喜欢自己写的代码。没有组织性,模块性不强,没有异常处理,总体印象一团糟。或许我可以想要什么就有什么,但这不是我想要的,我希望的代码具有非常清晰的结构,耦合性低,各个原创 2009-03-23 21:52:00 · 1002 阅读 · 0 评论 -
电梯控制模拟代码简析(MFC)
刚上传了一个完全模拟我们学校图书管电梯的程序,有需要者可以下载下来看下(http://download.csdn.net/user/xiadasong007)。(由于百度一个帖子的原因,今天被迫一下午都在忙这个程序,幸好还算是比较简单的东西,呵呵)今天先休息一下,看下《英雄-第一季》明天再来说说代码实现的过程,来看看有什么难的?原创 2009-03-12 22:53:00 · 4199 阅读 · 1 评论 -
记录一 --- CString操作实践剖析
这些天在写个MFC的聊天程序,工作量比较大,不知道什么时候才能完成。这中间遇到了许多问题,知识性的占一半,技巧性的占一半,由于是个长期的过程,想写一个系列以记录大部分比较重要的问题,算是往后学习工作的一些经验。 今天写一下MFC中CString的一些重要用法。由于长期使用STL中的string模板,对Cstring的许多操作是很陌生的,CString的成员函数不多,这里不细讲,我原创 2009-03-14 15:23:00 · 894 阅读 · 0 评论 -
新手使用CTreeCtrl
昨天写了篇关于ClistCtrl基本使用的东西,后来在学习使用CTreeCtrl时发现了前面文章的几点问题,诚惶诚恐,于是接着写这篇关于CtreeCtrl的学习心得,纠正一些观点,也算是前篇的姊妹篇吧(至于ClistView和CtreeView,以后碰到再写O(∩_∩)O~)还是先看一点点代码:(CUseTreeDlg::OnInitDialog()中)// TODO: Add原创 2009-03-07 13:40:00 · 918 阅读 · 0 评论 -
新手使用CListCtrl
说来惭愧,由于实践经验少,我以前还没有用过列表框,这次用这个,也是要用这个写点东西,然而却不知道怎么用,连个最简单的列表框都弄不出来。经过一个小时左右摸索,算是能写点东西了。对于新手而言,第一次使用这个都会有点不知所措吧,事实上要说不知道,其实只是不知道如何写开头罢了,也就是创建列表。 先看代码:在对话框模式中的初始化处添加如下代码:CMyListCtrl*m原创 2009-03-06 17:17:00 · 693 阅读 · 0 评论 -
第四章--输出文字学习记录
1: 在发生下面几种事件之一时,窗口消息处理程序会接收到一个WM_PAINT消息: ---在使用者移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见 ---使用者改变窗口的大小(如果窗口类别样式有着CS_HREDRAW和CS_VREDRAW位旗标的设定) ---程序使用ScrollWindow或ScrollDC函数滚动显示区域的一部分 ---程序使用InvalidateRec原创 2009-02-27 13:10:00 · 665 阅读 · 0 评论 -
第三章---窗口与消息学习记录
windows程序设计-----窗口与消息学习记录。1: 一个窗口就是屏幕上的一个矩形区域,它接收使用者的输入并以文字或图形的格式显示输出内容2: 消息窗口有一个带关闭按钮的标题列、一个选项图标、一行或多行文字,以及最多四个按钮。必须选择Windows提供给的图标与按钮。3: 不能在消息框中显示图形,而且也不能在消息框中添加菜单4: 装饰对话框表面的还有各式各样的按键、单选按钮、复选框、清单方原创 2009-02-23 13:29:00 · 687 阅读 · 0 评论 -
第二章---Unicode字符集学习笔记
《windows程序设计》的Unicode字符集学习笔记:1: C语言通过对宽字符集的支持来支持Unicode2: C中的宽字符基于wchar_t数据型态,它在几个表头文件包括WCHAR.H中都有如下定义:typedef unsigned short wchar_t ;因此,wchar_t数据型态与无符号短整数型态相同,都是16位宽。3: 要定义包含一个宽字符的变量,可使用下面的语句;wchar_原创 2009-02-21 22:31:00 · 944 阅读 · 0 评论 -
非模态对话框的特点与使用
非模态对话框的特点与使用 与模态对话框不同,非模态对话框不垄断用户的输入,用户打开非模态对话框后,仍然可以与其它界面进行交互。非模态对话框的设计与模态对话框基本类似,也包括设计对话框模板和设计CDialog类的派生类两部分。但是,在对话框的创建和删除过程中,非模态对话框与模态对话框相比有下列不同之处:非模态对话框的模板必须具有Visible风格,否则对话转载 2009-02-18 20:43:00 · 2296 阅读 · 0 评论 -
再谈非模态对话框的销毁
非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别 先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from wi转载 2009-02-15 11:21:00 · 1039 阅读 · 0 评论 -
VC:文件操作大全,打开,保存,复制,删除,查找等
各种关于文件的操作在程序设计中十分常见,如果能对这些操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而可以在较短的时间内编写出高效的代码。本文对Visual C++中有关文件操作进行了全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行了详细分析。1. 文件的查找当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类“CFileFi转载 2009-02-09 18:43:00 · 4405 阅读 · 0 评论 -
OpenGL小结12箴言(2)
1:请记住,由窗口名可以得到HWND(如FindWindow()函数),由HWND可以得到HDC(如GetDC()函数),由HDC就可以画图了,必须注意的是,这两个东西最好是全局变量。2:请使用sprintf系列函数来format字符串,示例如下: char buffer[200], s[] = "computer", c = l; int i = 35,原创 2009-08-25 16:25:00 · 584 阅读 · 0 评论